MySQL加密

  本篇简单介绍MySQL提供的数据安全保护方法。分别是PASSWORD、MD5、ENCODE和DECODE。

1、PASSWORD

  MySQL对用户密码的哈希,并非加密,不可逆。详细请参考链接

mysql> select PASSWORD('root');
+-------------------------------------------+
| PASSWORD('root')                          |
+-------------------------------------------+
| *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
+-------------------------------------------+
1 row in set (0.00 sec)

2、MD5摘要

  存储字符串的MD5值也可以不暴露明文数据。

mysql> select MD5('admin');
+----------------------------------+
| MD5('admin')                     |
+----------------------------------+
| 21232f297a57a5a743894a0e4a801fc3 |
+----------------------------------+
1 row in set (0.00 sec)

3、加解密函数ENCODE & DECODE

  函数原型:

ENCODE(str,pass_str)
DECODE(crypt_str,pass_str)

  encode加密字符串:

mysql> select encode('abcdef', '123');
+-------------------------+
| encode('abcdef', '123') |
+-------------------------+
| ���Q�(                      |
+-------------------------+
1 row in set (0.00 sec)

  decode解密:

mysql> select decode(encode('abcdef','123'),'123');
+--------------------------------------+
| decode(encode('abcdef','123'),'123') |
+--------------------------------------+
| abcdef                               |
+--------------------------------------+
1 row in set (0.00 sec)

  更多请参考:Encryption and Compression Functions

  以上。

原文地址:https://www.cnblogs.com/Hi-blog/p/9476026.html