加密函数是MySQL用来对数据进行加密的函数。
返回字符串str的加密版本,41位长的字符串,加密结果不可逆
该函数可以对字符串str进行加密,一般情况下,PASSWORD(str)用于给用户的密码加密。
- SELECT PASSWORD('123')
- ->*23AE809DDACAF96AF0FD78ED04B6A265E05AA257
MySQL 5.7支持
ENCODE函数可以使用加密密码pswd_str来加密字符串str,加密结果是二进制数,需要使用 BLOB类型的字段保存。该函数与DECODE是一对,需要同样的秘钥才能够解密。
MySQL 5.7和8.0 都支持
MD5(str)函数可以对字符串str进行散列,可以用于一些普通的不需要解密的数据加密。
- SELECT md5('123')
- ->202cb962ac59075b964b07152d234b70
从原明文密码str计算并返回加密后的密码字符串,当参数为null时,返回NUll。
SHA加密算法比MD5更加安全
- SELECT SHA('123')
- ->40bd001563085fc35165329ea1ff5c5ecbdbbeef