专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »数据库 » mysql加密函数:MySQL 加密/压缩函数 »正文

mysql加密函数:MySQL 加密/压缩函数

来源: 发布时间:星期六, 2009年12月19日 浏览:0次 评论:0
这些问题可能导致数据值改变般而言上述问题可能在你使用非 2进制串数据类型(如charvarchartext等数据类型)情况下发生

  • AES_ENCRYPT和AES_DECRYPT
AES_ENCRYPT和AES_DECRYPT可以加密/解密使用官方AES算法数据该算法使用128位密钥来编码但用户可以将其扩展到256位MySQL选用128位密钥这样算法实现更快而且对大多数用户而言它也足够安全了



AES_ENCRYPT(strkey_str)加密串并返回个 2进制串AES_DECRYPT(crypt_str, key_str) 可以解密使用官方AES(Advanced Encryption Standard)算法加密数据并返回原有输入变量可以是任意长度如果输入变量为NULL那么该返回结果也为NULL



AES是个块级算法需要使用补白来编码非偶数长度

  • ENCODE和DECODE
ENCODE(str, pass_str):该使用pass_str作为密码来加密串str其加密结果可以通过DECODE来解密返回结果是个同str等长 DECODE(crypt_str, pass_str):该使用pass_str作为密码来解密使用ENCODE加密后串crypt_str

  • DES_ENCRYPT和DES_ENCRYPT
DES_ENCRYPT(str[, {key_num|key_str}]):该使用 3重DES算法连同给定密钥来加密加密
DES_DECRYPT(crypt_str[, key_str]):该解密个通过DES_ENCRYPT加密如果出现返回NULL


  • COMPRESS和UNCOMPRESS
COMPRESS(_to_compress):该压缩串并且返回个 2进制串需要MySQL已连同个压缩库块编译比如zlib否则该返回值总为NULL压缩后串可以通过 UNCOMPRESS来解压缩UNCOMPRESS(_to_uncompress):该解压缩个通过COMPRESS 压缩如果变量不是个压缩值则结果返回为NULL

  • PASSWORD
PASSWORD(str):该用来加密存储在user表中 password列MySQL密码PASSWORD由MySQL服务器中认证系统使用用户不应该在自己应用中使用该如果需要使用加密可以考虑使用MD5或者SHA1来代替

其加密结果举例如下:





在MySQL系统数据库mysqluser表中个名为Password其中保存由password加密后user密码数据如下所示:



  • ENCRYPT
ENCRYPT(str[, salt]):该通过使用Unix crypt系统来加密str并返回个 2进制串其中salt变量应该是个包含多于两个如果salt没有给定则使用个随机值如果crypt系统在用户操作系统上不可用(Windows操作系统便如此)返回为NULL

  • MD5
MD5(str):该计算128位MD5校验和返回结果是由32个十 6进制数字组成 2进制串如果变量为NULL则返回为NULL

其加密结果举例如下:



  • SHA1/SHA:
SHA1(str)/SHA(str)计算串str160位SHA-1校验和返回值是个由40个十 6进制数字组成 2进制串如果变量为NULL则返回NULL

其加密结果举例如下:



0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: