MD5( 暗号化する文字列 )
MD5関数を使用することで、MD5で暗号化することができます。
この暗号化方式は一方向の暗号化であり、復号して元の文字列に戻すことはできません。
暗号化されると128ビットの16進数を32文字で表現した文字列が生成されます。
そのため暗号化後の文字列に含まれる文字は0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,fの16種類になります。
mysql> SELECT MD5( 'angoukasurumojiretsu' ); +----------------------------------+ | MD5( 'angoukasurumojiretsu' ) | +----------------------------------+ | 77cdae0b430e205622ca97c5a48012a7 | +----------------------------------+ 1 row in set (0.00 sec) mysql> SELECT LENGTH( MD5( 'angoukasurumojiretsu' ) ); +-----------------------------------------+ | LENGTH( MD5( 'angoukasurumojiretsu' ) ) | +-----------------------------------------+ | 32 | +-----------------------------------------+ 1 row in set (0.00 sec) mysql> SELECT MD5( '' ); +----------------------------------+ | MD5( '' ) | +----------------------------------+ | d41d8cd98f00b204e9800998ecf8427e | +----------------------------------+ 1 row in set (0.00 sec) mysql> SELECT LENGTH( MD5( '' ) ); +---------------------+ | LENGTH( MD5( '' ) ) | +---------------------+ | 32 | +---------------------+ 1 row in set (0.00 sec)
引数にNULLを指定した場合はNULLが返されます。
mysql> SELECT MD5( NULL ); +-------------+ | MD5( NULL ) | +-------------+ | NULL | +-------------+ 1 row in set (0.00 sec)
MD5関数より攻撃に強いハッシュ関数としてSHA1関数が使用できます。