MD5を生成するサンプル
openssl付属のライブラリを使ったサンプル。そのままだとバイナリのMD5が取れるので16進に変換するサンプル。
//注意 コンパイル時に -lssl を付けること。 #include <openssl/md5.h> void to_hex( unsigned char *md, int length, unsigned char *md_hex ) { static char tbl[ 16 ] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' }; int j=0; for(int i=0; i<length; i++){ md_hex[j++] = tbl[ ( unsigned char )md[i] >> 4 ]; md_hex[j++] = tbl[ ( unsigned char )md[i] & 0x0f ]; } md_hex[j] = '\0'; } unsigned char encryptdata[16]; memset(encryptdata, '\0', 16); unsigned char encryptdata_hex[48]; MD5((unsigned char *)"mariners", strlen("mariners"), encryptdata); to_hex(encryptdata, 16, encryptdata_hex);