因为AES是一个块级算法,供给利用补白来编码非偶数长度的字符串。

     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(str,
pass_str):该函数使用pass_str作为密码来加密字符串str,其加密的结果能够透过DECODE()函数来解密。该函数重临的结果是四个同str等长。
DECODE(crypt_str,
pass_str):该函数使用pass_str作为密码来解密使用ENCODE()加密后的字符串crypt_str。

hashbytes函数作用为:重临八个字符,
通过 MD2、MD4、MD5、SHA、SHA1、SHA2_256、SHA2_512办法加密后的重临值

其加密结果示举个例子下:

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

其加密结果示比如下:

一、mssql sql hashbytes
函数简单介绍

MD5(str):该函数计算八个字符串的1二十11个人MD5校验和,重返的结果是由叁13个十六进制数字组合的二进制串。假设变量为NULL,则赶回为NULL。

 

  • COMPRESS()和UNCOMPRESS()

例2:

ENCRYPT(str[,
salt]):该函数通过动用Unix
crypt()系统调用来加密str,并赶回三个二进制串。在那之中,salt变量应该是一个分包多于多少个字符的字符串。假诺salt没有给定,则采纳贰个随机值。假若crypt()系统调用在用户的操作系统上不可用(Windows操作系统便如此),该函数重返为NULL。

二、mssql sql hashbytes
举个例子应用

  • ENCRYPT()

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

  • AES_ENCRYPT()和AES_DECRYPT()

例1:

DES_ENCRYPT(str[,
{key_num|key_str}]):该函数使用三重DES算法连同给定的密钥来加密加密字符串。
DES_DECRYPT(crypt_str[,
key_str]):该函数解密二个通过DES_ENC猎豹CS6YPT()加密的字符串,借使出现谬误,该函数重返NULL。

   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加密

PASSWOKoleosD(str):该函数用来加密存款和储蓄在user表中
password列的MySQL密码。PASSWOENCORED()函数由MySQL服务器中的认证种类接纳,用户不该在和煦的行使中动用该函数。要是急需利用加密函数,能够思考使用MD5()可能SHA1()来替代。

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

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

你或然感兴趣的篇章:

  • mysql双向加密解密格局用法详解
  • MySQL加密和平消除密实例详解
  • MySQL利用AES_ENCRYPT()与AES_DECLacrosseYPT()加解密的不易方法以身作则

其加密结果示举个例子下: