用法简介,压缩函数

2019-10-05 05:07 来源:未知

转自:http://www.maomao365.com/?p=4732

那几个标题恐怕形成数据值的更换。日常来讲,上述难点恐怕在你使用非二进制串数据类型(如char,varchar,text等数据类型)的图景下发生。

金沙澳门唯一官网,一、mssql sql hashbytes 函数简单介绍

  • AES_ENCRYPT()和AES_DECRYPT()

hashbytes函数作用为:重临贰个字符,
通过 MD2、MD4、MD5、SHA、SHA1、SHA2_256、SHA2_512措施加密后的再次回到值

AES_ENCRYPT()和AES_DECTucsonYPT()可以加密/解密使用官方AES算法的多少。该算法使用126个人密钥来编码,但顾客能够将其扩大到255人。MySQL选取126位密钥,因为这么算法完成越来越快,而且对绝大好多客商来说它也丰裕安全了。

hashbytes(‘参数1’,’参数2’)

AES_ENCRYPT(str,key_str)函数加密一个字符串并重临二个二进制串。AES_DECRYPT(crypt_str, key_str) 函数可以解密使用官方AES(Advanced Encryption Standard)算法加密的数额并回到原有字符串,输入变量能够是随意长度。假使输入变量为NULL,那么该函数重临结果也为NULL。

参数1:
输入加密类型 例:MD5
参数2:
输入待加密的字符串(加密字符串最大值为 玖仟字节)
返回值:
再次回到值最大为8000字节
注意事项:
当输入加密类型,格外时,重返NULL

因为AES是贰个块级算法,要求选取补白来编码非偶数长度的字符串。

二、mssql sql hashbytes 比方应用

  • ENCODE()和DECODE()

例1:

ENCODE(str, pass_str):该函数使用pass_str作为密码来加密字符串str,其加密的结果能够由此DECODE()函数来解密。该函数重返的结果是二个同str等长。 DECODE(crypt_str, pass_str):该函数使用pass_str作为密码来解密使用ENCODE()加密后的字符串crypt_str。

   DECLARE @info nvarchar(4000);  
SET @info = CONVERT(nvarchar(4000),'www.maomao365.com');  
SELECT HASHBYTES('SHA1', @info);   ---返回采用SHA1加密
SELECT HASHBYTES('MD5', @info);    ---返回采用MD5加密
SELECT HASHBYTES('MD2', @info);    ---返回采用MD2加密
  • DES_ENCRYPT()和DES_ENCRYPT()

例2:

DES_ENCRYPT(str[, {key_num|key_str}]):该函数使用三重DES算法连同给定的密钥来加密加密字符串。
DES_DECRYPT(crypt_str[, key_str]):该函数解密多少个通过DES_ENC中华VYPT()加密的字符串,如若出现谬误,该函数重回NULL。

 

  • COMPRESS()和UNCOMPRESS()
     create table A(info1 varchar(30))

insert into A (info1)values('www.maomao365.com')
insert into A (info1)values('猫猫小屋')
insert into A (info1)values('mssql教程专用')
insert into A (info1)values('mssql函数用法简介') 

select HASHBYTES('Md5',info1) as [md5加密], 
HASHBYTES('SHA1',info1) as [SHA1加密],
info1 from A 

truncate table A
drop table A 

COMPRESS(string_to_compress):该函数裁减多少个字符串何况重返叁个二进制串。该函数须求MySQL已会同三个压缩库一块编写翻译,比方zlib,否则该函数的重临值总为NULL。压缩后的字符串能够由此UNCOMPRESS()函数来解压缩。UNCOMPRESS(string_to_uncompress):该函数解压缩多少个通过COMPRESS() 函数降低的字符串。假使变量不是三个压缩值,则结果回到为NULL。

 

  • PASSWORD()

PASSWO凯雷德D(str):该函数用来加密存款和储蓄在user表中 password列的MySQL密码。PASSWOENVISIOND()函数由MySQL服务器中的认证系统使用,顾客不应该在大团结的运用中央银行使该函数。倘诺须求选用加密函数,能够虚构选择MD5()只怕SHA1()来取代。

其加密结果示比方下:

金沙澳门唯一官网 1

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

金沙澳门唯一官网 2

  • ENCRYPT()

ENCRYPT(str[, salt]):该函数通过行使Unix crypt()系统调用来加密str,并再次来到八个二进制串。个中,salt变量应该是贰个包蕴多于三个字符的字符串。假如salt未有给定,则选拔二个随机值。若是crypt()系统调用在客户的操作系统上不可用(Windows操作系统便如此),该函数再次回到为NULL。

  • MD5()

MD5(str):该函数总括一个字符串的1贰19个人MD5校验和,再次回到的结果是由28个十六进制数字组成的二进制串。假使变量为NULL,则赶回为NULL。

其加密结果示比如下:

金沙澳门唯一官网 3

  • SHA1()/SHA():

SHA1(str)/SHA(str)函数总计字符串str的1六11位SHA-1校验和。再次来到值是叁个由四十多个十六进制数字构成的二进制串。倘若变量为NULL,则赶回NULL。

其加密结果示比方下:

金沙澳门唯一官网 4

您只怕感兴趣的篇章:

  • mysql双向加密解密情势用法详解
  • MySQL加密和平消除密实例详解
  • MySQL利用AES_ENCRYPT()与AES_DECLANDYPT()加解密的不易方法自己要作为表率遵从规则
TAG标签:
版权声明:本文由金沙澳门唯一官网发布于数据库管理,转载请注明出处:用法简介,压缩函数