1.加密函数PASSWORD(str)
从明文密码str计算返回加密后的密码字符串,当参数为NULL时,返回NULL,PASSWORD()加密是单向的(不可逆)
mysql> select password('newpwd');
+-------------------------------------------+
| password('newpwd') |
+-------------------------------------------+
| *1FA85AA204CC12B39B20E8F1E839D11B3F9E6AA4 |
+-------------------------------------------+
1 row in set (0.00 sec)
2.加密函数MD5(str)
MD5(str)为字符串算出一个MD5 128比特校验和。该值以32位十六进制数字的二进制字符串形式返回,若参数为NULL,则返回NULL。
mysql> select MD5('mypwd');
+----------------------------------+
| MD5('mypwd') |
+----------------------------------+
| 318bcb4be908d0da6448a0db76908d78 |
+----------------------------------+
1 row in set (0.00 sec)
3.加密函数ENCODE(str, pswd_str)
使用pswd_str作为密码,加密str。使用DECODE()解密结果,结果是一个和str长度相同的字符串。
mysql> select encode('secret', 'cry'),length(encode('secret','cry'));
+-------------------------+--------------------------------+
| encode('secret', 'cry') | length(encode('secret','cry')) |
+-------------------------+--------------------------------+
| �h�� | 6 |
+-------------------------+--------------------------------+
1 row in set (0.00 sec)
4.解密函数DECODE(crypt_str,pswd_str)
DECODE(crypt_str,pswd_str)使用pswd_str作为密码,解密加密字符串crypt_str,crypt_str是由ENCODE()返回的字符串。
mysql> select decode(encode('secret','cry'), 'cry');
+---------------------------------------+
| decode(encode('secret','cry'), 'cry') |
+---------------------------------------+
| secret |
+---------------------------------------+
1 row in set (0.00 sec)