mysql加密/压缩功能
aes_encrypt()和()aes_decrypt
aes_encrypt()和()aes_decrypt可以加密/正式使用AES算法对数据进行解密,算法使用128位密钥进行编码,但用户可以扩展到256 bits.mysql选择128位密钥算法实现更快,因为这是足够安全的大多数用户。
的aes_encrypt(STR,key_str)函数加密字符串并返回一个字符串,aes_decrypt(crypt_str,key_str)功能可以解密数据通过官方的AES(高级加密标准)加密算法和返回原字符串,和输入变量可以是任何长度。如果输入变量是零,结果也为空。
因为AES是一种块级算法,使用字符串填充来编码所需的非等长。
编码()和解码()
编码(STR,pass_str):此功能使用pass_str作为密码加密字符串str,其加密的结果可以通过解码解密()函数。函数的结果是一个相同的length.decode(crypt_str,pass_str):此功能使用pass_str作为密码解密字符串crypt_str是加密使用的编码()。
des_encrypt()和()des_encrypt
des_encrypt(STR { } },{ key_num | key_str):这个函数使用三重DES算法加密的加密字符串和一个给定的键。
des_decrypt(crypt_str {,}:key_str)这个函数解密字符串加密通过des_encrypt(),如果有错误,则返回null。
压缩和解压缩()()
压缩(string_to_compress):这个函数将字符串并返回一个二进制字符串。此功能需要MySQL已经有压缩库编译,例如zlib,或函数的返回值始终是空的。压缩后的字符串可以解压缩的解压缩()function.uncompress(string_to_uncompress):这一功能解压字符串,通过压缩压缩()函数。如果变量是不压缩的值,返回结果为空。
密码()
密码(STR):此功能是用来加密存储在用户表密码柱MySQL的密码。密码()函数是用来验证系统的MySQL服务器,并且用户不应在自己的应用程序中使用的功能。如果你需要使用一个加密的功能,你可以考虑用MD5或SHA1()()。
其加密结果的示例如下:
在MySQL的系统数据库MySQL的用户表中,有一个名为密码的列,它保存由密码函数加密的用户的密码数据:
加密()
加密(STR {,}:盐)这个功能是利用Unix crypt加密str()系统的调制和返回一个二进制串。在此,盐变应该是一个包含超过两个字符。如果没有盐,是用一个随机值。如果crypt()在用户的操作系统的系统调用是不可用的(Windows操作系统是如此),该函数返回null。
(MD5)
MD5(STR):此函数计算字符串的128位MD5校验和,其结果是由32个十六位数字组成的二进制字符串。如果变量为null,则返回null。
其加密结果的示例如下:
SHA1()/()沙:
The SHA1 (STR) /SHA (STR) function calculates the 160 bit SHA-1 check sum of the string str.The return value is a binary string consisting of 40 sixteen decimal digits.If the variable is NULL, then the NULL is returned.
其加密结果的示例如下: