-- MySQL4.0.2以降で使用可能。 -- SHAはSHA1の別名で同じ動作をする。 SHA1( 暗号化する文字列 ) SHA( 暗号化する文字列 )
SHA1関数を使用することで、SHA1で暗号化することができます。
この暗号化方式は一方向の暗号化であり、復号して元の文字列に戻すことはできません。
暗号化されると160ビットの16進数を40文字で表現した文字列が生成されます。
そのため暗号化後の文字列に含まれる文字は0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,fの16種類になります。
mysql> SELECT SHA1( 'angoukasurumojiretsu' ); +------------------------------------------+ | SHA1( 'angoukasurumojiretsu' ) | +------------------------------------------+ | 4ce30e79f9644f46db49cc0ff0fa605aee3bd647 | +------------------------------------------+ 1 row in set (0.00 sec) mysql> SELECT LENGTH( SHA1( 'angoukasurumojiretsu' ) ); +------------------------------------------+ | LENGTH( SHA1( 'angoukasurumojiretsu' ) ) | +------------------------------------------+ | 40 | +------------------------------------------+ 1 row in set (0.00 sec) mysql> SELECT SHA1( '' ); +------------------------------------------+ | SHA1( '' ) | +------------------------------------------+ | da39a3ee5e6b4b0d3255bfef95601890afd80709 | +------------------------------------------+ 1 row in set (0.01 sec) mysql> SELECT LENGTH( SHA1( '' ) ); +----------------------+ | LENGTH( SHA1( '' ) ) | +----------------------+ | 40 | +----------------------+ 1 row in set (0.00 sec) mysql> SELECT SHA( 'angoukasurumojiretsu' ); +------------------------------------------+ | SHA( 'angoukasurumojiretsu' ) | +------------------------------------------+ | 4ce30e79f9644f46db49cc0ff0fa605aee3bd647 | +------------------------------------------+ 1 row in set (0.00 sec) mysql> SELECT LENGTH( SHA( 'angoukasurumojiretsu' ) ); +-----------------------------------------+ | LENGTH( SHA( 'angoukasurumojiretsu' ) ) | +-----------------------------------------+ | 40 | +-----------------------------------------+ 1 row in set (0.00 sec)
引数にNULLを指定した場合はNULLが返されます。
mysql> SELECT SHA1( NULL ); +--------------+ | SHA1( NULL ) | +--------------+ | NULL | +--------------+ 1 row in set (0.00 sec) mysql> SELECT SHA( NULL ); +-------------+ | SHA( NULL ) | +-------------+ | NULL | +-------------+ 1 row in set (0.00 sec)
SECOND | 時刻から秒を取り出す |
SESSION_USER | 接続時に指定されたユーザー名を確認する |
SHA | SHA1で暗号化する |
SHA1 | SHA1で暗号化する |
SIGN | 符号を調べる |
SIN | サインを求める |
SPACE | 任意の数の半角スペースを生成する |
SQRT | 平方根を求める |
SUBSTRING | 文字列から位置を指定して文字列を取り出す |
SUBSTRING_INDEX | 区切り文字列N個目までの文字列を取り出す |
SUM | 合計を求める |
SYSTEM_USER | 接続時に指定されたユーザー名を確認する |