MSSQL Sql加密函数 hashbytes 用法简要介绍

作者:美高梅mgm59599

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

  • COMPRESS()和UNCOMPRESS()

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

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

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

图片 1

 

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

二、mssql sql hashbytes 举个例子应用

COMPRESS(string_to_compress):该函数收缩一个字符串何况重返一个二进制串。该函数要求MySQL已会同多个压缩库一块编写翻译,举例zlib,不然该函数的再次来到值总为NULL。压缩后的字符串能够由此UNCOMPRESS()函数来解压缩。UNCOMPRESS(string_to_uncompress):该函数解压缩三个通过COMPRESS() 函数裁减的字符串。要是变量不是一个压缩值,则结果重回为NULL。

hashbytes函数功效为:重回一个字符,
通过 MD2、MD4、MD5、SHA、SHA1、SHA2_256、SHA2_512主意加密后的再次来到值

ENCRYPT(str[, salt]):该函数通过运用Unix crypt()系统调用来加密str,并再次来到两个二进制串。此中,salt变量应该是一个暗含多于八个字符的字符串。如若salt没有给定,则应用二个随机值。要是crypt()系统调用在顾客的操作系统上不可用(Windows操作系统便如此),该函数重回为NULL。

 

MD5(str):该函数总括贰个字符串的1二十六位MD5校验和,重回的结果是由叁10个十九进制数字组成的二进制串。如果变量为NULL,则赶回为NULL。

例2:

图片 2

     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 
  • ENCODE()和DECODE()
   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加密

其加密结果示比如下:

例1:

其加密结果示比方下:

风度翩翩、mssql sql hashbytes 函数简要介绍

图片 3

那么些标题大概产生数据值的改换。平日来讲,上述难点也许在您使用非二进制串数据类型(如char,varchar,text等数据类型)的动静下发生。

  • SHA1()/SHA():

您只怕感兴趣的篇章:

  • mysql双向加密解密方式用法详解
  • MySQL加密和解密实例详解
  • MySQL利用AES_ENCRYPT()与AES_DEC奥德赛YPT()加解密的对的方法亲自过问

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

其加密结果示比如下:

  • PASSWORD()

PASSWO哈弗D(str):该函数用来加密存款和储蓄在user表中 password列的MySQL密码。PASSWO奥迪Q5D()函数由MySQL服务器中的认证体系接纳,客户不应有在团结的使用中使用该函数。假如须求利用加密函数,能够思念采取MD5()恐怕SHA1()来顶替。

  • MD5()

DES_ENCRYPT(str[, {key_num|key_str}]):该函数使用三重DES算法连同给定的密钥来加密加密字符串。
DES_DECRYPT(crypt_str[, key_str]):该函数解密四个经过DES_ENC本田UR-VYPT()加密的字符串,如若现身错误,该函数再次来到NULL。

SHA1(str)/SHA(str)函数总括字符串str的1六10位SHA-1校验和。再次来到值是三个由四十几个十五进制数字组合的二进制串。假若变量为NULL,则赶回NULL。

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

  • AES_ENCRYPT()和AES_DECRYPT()

图片 4

  • ENCRYPT()
  • DES_ENCRYPT()和DES_ENCRYPT()

AES_ENCRYPT()和AES_DECWranglerYPT()能够加密/解密使用官方AES算法的多少。该算法使用1二十七人密钥来编码,但顾客能够将其扩展到256人。MySQL选择1贰21位密钥,因为这么算法达成更加快,而且对超越1/4顾客来说它也丰盛安全了。

本文由美高梅mgm59599发布,转载请注明来源

关键词: