本篇简单介绍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
以上。