加/解密函数
加密函数主要用来对数据进行加密和界面处理,以保证某些重要数据不被别人获取。这些函数在保证数据库安全时非常有用。
1.加密函数password(str)
password(str)从原明文密码str计算并返回加密后的密码字符串,当参数为null时,返回null。
案例:使用password函数加密密码,SQL语句如下:
SELECT PASSWORD('newpwd');
(注:MySQL将password函数加密后的密码保存到用户权限表中。passw函数在MySQL服务器的鉴定系统中使用;不应将它用在个人的应用程序中。password加密是单向的,不可逆;password执行密码加密与unix中密码被加密的方式不同。)
2.加密函数md5(str)
md5(str)字符串算出一个md5 128比特校验和。该值以32位十六进制数字的二进制字符串形式返回,若参数为null,则返回null。
案例:使用md5函数加密字符串,SQL语句如下:
SELECT MD5('mypwd');
3.加密函数encode(str,pswd_str)
encode(str,pswd_str)使用pswd_str作为密码,加密str。使用decode()解密结果,是一个和str长度相同的二进制字符串。
案例:使用encode加密字符串,SQL语句如下:
SELECT ENCODE('secret','cry'),LENTHT(ENCODE('srcret','cry'));
4.解密函数decode(crypt_str,pswd_str)
decode(crypt_str,pswd_str)使用pswd_str作为密码,解密加密字符串crypt_str,crypt_str是由encode()返回的字符串。
案例:使用decode函数解密encode加密的字符串,SQL语句如下:
SELECT DECODE(ENCODE('secret','cry'),'cry');