Linuxで、crypt(3) を使う
crypt(3)
cryptはパスワードとデータの暗号化を行う。#define _XOPEN_SOURCE #include <unistd.h> char *crypt(const char *key, const char *salt); 戻り値:暗号化されたパスワードへのポインタ(静的な データへのポインタ)。 エラーの場合は、NULL。
DES アルゴリズムにはいくつかの癖があり、 それによってパスワード認証以外に crypt() を 使うのはたいへんよくない選択となっている。 もし crypt() を暗号プロジェクトに使おうという 案をもっているならば、それはやめたほうがよい。 暗号化についてのよい本と誰でも入手できる DES ライブラリのひとつを手にいれるべきだ。
crypt(3)のサンプル
#include <unistd.h> #include <stdio.h> int main() { char *encrypted = NULL; encrypted = (char*)crypt("key", "12"); printf("%s\n", encrypted); return 0; }
ビルドは、gccに-cryptオプションをつける
>gcc -crypt crypt.c
>./a.out
>12RpC4iQG8R6g
参考:http://www.linux.or.jp/JM/html/LDP_man-pages/man3/crypt.3.html