Jos joskus haluat komentoriviltä kryptata salasanan perinteisellä Unix-kryptillä, htpasswd tekee homman. Mutta jos haluat sille juuri tietyn saltin (esim. verrataksesi tulosta jossain tietokannassa olevaan kryptattuun salasanaan), ei valmista utilia taida olla. Tässä on kevyt wrapperi crypt()-kirjastokutsun ympärille:
{{{ #define _XOPEN_SOURCE #include
int main(int ac, char *av[]) { if (ac < 3) exit(1); printf("%s crypted by salt %s: %s\n", av[1], av[2], crypt(av[1], av[2])); return 0; } }}}
Sitä käytetään esimerkiksi näin (meillä on foo-tiedostossa käyttäjä, jonka salasanasta haluamme katsoa, onko se "omppu" tai "himppu"):
{{{ $ cat foo kayttaja:.jTXPhitqPj9s $ ./crypt omppu .j omppu crypted by salt .j: .jqa2usEHbGlU $ ./crypt himppu .j himppu crypted by salt .j: .jTXPhitqPj9s }}}
(Mistä ".j" tulee? crypt()illä hashatussa salasanassa kaksi ensimmäistä merkkiä ovat aina suola, eli se on otettu käyttäjän salasanan alusta foo-tiedostossa. Mistä tietää, onko salasana "himppu"? Siitä, että kun kryptaa samalla suolalla kuin salasanatiedostossa, lopputulos on sama eli ".jTXPhitqPj9s".)
* [merkintä: 2015-06] * [atehwa] * [kategoria: päiväkirjamerkintä]