加密函数主要用来对数据进行加密和界面处理,以保证某些重要数据不被别人获取。这些函 数在保证数据库安全时非常有用 。
加密函数 MD5(str) MD5(str)为字符串算出一个 MD5 128 比特校验和。该值以 32 位十六进制数字的二进制字符串 形式返回,若参数为 NULL,则会返回 NULL。 使用 MD5 函数加密字符串,输入语句如下 :
SELECT MD5 ('mypwd');
可以看到,“mypwd”经 MD5 加密后的结果为 318bcb4be908d0da6448a0db76908d78。
加密函数 SHA(str) SHA(str)从原明文密码 str 计算并返回加密后的密码字符串,当参数为 NULL 时,返回 NULL。 SHA 加密算法比 MD5 更加安全。 使用 SHA 函数加密密码,输入语句如下:
SELECT SHA('tom123456');
加密函数 SHA2(str, hash_length) SHA2(str, hash_length)使用 hash_length 作为长度,加密 str。hash_length 支持的值为 224、256、 384、512 和 0。其中,0 等同于 256。 使用 SHA2 加密字符串,输入语句如下:
mysql> SELECT SHA2('tom123456',0) A,sha2('tom123456',256) B\G
*************************** 1. row ***************************
A: 9242a986a9edbd14a60450e9284a372efeff7e9f6209f675fdc4457f55de5e27
B: 9242a986a9edbd14a60450e9284a372efeff7e9f6209f675fdc4457f55de5e27
可以看到,hash_length 的值为 256 和 0 时,结果都是一样的