MySQL 加密/压缩函数

2016-02-19 09:12 11 1 收藏

给自己一点时间接受自己,爱自己,趁着下午茶的时间来学习图老师推荐的MySQL 加密/压缩函数,过去的都会过去,迎接崭新的开始,释放更美好的自己。

【 tulaoshi.com - 编程语言 】

这些问题可能导致数据值的改变。一般而言,上述问题可能在你使用非二进制串数据类型(如char,varchar,text等数据类型)的情况下发生。

AES_ENCRYPT()和AES_DECRYPT()

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

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

AES_ENCRYPT(str,key_str)函数加密一个字符串并返回一个二进制串。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}]):该函数使用三重DES算法连同给定的密钥来加密加密字符串。
DES_DECRYPT(crypt_str[, key_str]):该函数解密一个通过DES_ENCRYPT()加密的字符串,如果出现错误,该函数返回NULL。

COMPRESS()和UNCOMPRESS()

COMPRESS(string_to_compress):该函数压缩一个字符串并且返回一个二进制串。该函数需要MySQL已连同一个压缩库一块编译,比如zlib,否则该函数的返回值总为NULL。压缩后的字符串可以通过 UNCOMPRESS()函数来解压缩。UNCOMPRESS(string_to_uncompress):该函数解压缩一个通过COMPRESS() 函数压缩的字符串。如果变量不是一个压缩值,则结果返回为NULL。

PASSWORD()

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

其加密结果示例如下:

在MySQL的系统数据库mysql的user表中,有一个名为Password的列,其中保存由password函数加密后的user的密码数据。如下所示:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)


ENCRYPT()

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

MD5()

MD5(str):该函数计算一个字符串的128位MD5校验和,返回的结果是由32个十六进制数字组成的二进制串。如果变量为NULL,则返回为NULL。

其加密结果示例如下:

SHA1()/SHA():

SHA1(str)/SHA(str)函数计算字符串str的160位SHA-1校验和。返回值是一个由40个十六进制数字组成的二进制串。如果变量为NULL,则返回NULL。

其加密结果示例如下:

来源:http://www.tulaoshi.com/n/20160219/1589942.html

延伸阅读
WinRAR使用基础教程之加密压缩   加密压缩文件 步骤一、瞄准要压缩的文件,点右键选添加到压缩文件...; 步骤二、在弹出的对话框上边点高级标签; 步骤三、进入高级界面后,点一下右边中间的设置密码...按钮, 步骤四、在密码框中输入密码,注意两次输入要相同,密码设定后必须要牢牢记住,如果遗忘了,压...
1、将Int 转为varchar经常用 concat函数,比如concat(8,'0') 得到字符串 '80' 2、将varchar 转为Int 用 cast(a as signed) a为varchar类型的字符串 总结:类型转换和SQL Server一样,就是类型参数有点点不同 : CAST(xxx AS 类型) , CONVERT(xxx,类型) 可用的类型 二进制,同带binary前缀的效果 : BINARY 字符型,可带参数 : CHAR() 日期 : ...
如何使用好压给压缩文件加密   1、如果加密的文件已经是压缩文件,那就双击压缩文件,在注释的功能下找到选择密码,然后直接设置新密码就可以了。 2、如果是在压缩前设置,那就右击文件添加到压缩文件,然后会弹出一个窗口,在密码按键下选择设置密码就可以了。
mysql SELECT something FROM tbl_name WHERE TO_DAYS(NOW()) – TO_DAYS(date_col) = 30; DAYOFWEEK(date) 返回 date 的星期索引(1 = Sunday, 2 = Monday, ... 7 = Saturday)。索引值符合 ODBC 的标准。 mysql SELECT DAYOFWEEK('1998-02-03′); - 3 WEEKDAY(date) 返回 date 的星期索引(0 = Monday, 1 = Tuesday, … 6 = Sunday): ...
标签: MySQL mysql数据库
  对于针对字符串位置的操作,第一个位置被标记为1。 ASCII(str) 返回字符串 str 的最左面字符的ASCII代码值。 如果 str 是空字符串,返回 0 。如果 str 是 NULL ,返回 NULL 。 mysql select ASCII('2'); - 50mysql select ASCII(2); - 50mysql select ASCII('dx'); - 100 也可参见ORD()函...

经验教程

410

收藏

33
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部