MySQL関数リファレンス

SHA1で暗号化する (SHA1)

スポンサードリンク
書式
-- 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種類になります。

例1(SHA1で暗号化)
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が返されます。

例2(引数に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)
スポンサードリンク
Sではじまる MySQL の関数 / 暗号化関数

暗号化関数

スポンサードリンク

Sではじまる MySQL の関数

SECOND 時刻から秒を取り出す
SESSION_USER 接続時に指定されたユーザー名を確認する
SHA SHA1で暗号化する
SHA1 SHA1で暗号化する
SIGN 符号を調べる
SIN サインを求める
SPACE 任意の数の半角スペースを生成する
SQRT 平方根を求める
SUBSTRING 文字列から位置を指定して文字列を取り出す
SUBSTRING_INDEX 区切り文字列N個目までの文字列を取り出す
SUM 合計を求める
SYSTEM_USER 接続時に指定されたユーザー名を確認する