MD5,SHA1 加密算法 SQL Server版本都支持
SHA2-256,SHA2-512 加密算法 SQL Server版本只有2012及以上的版本才开始支持
具体语句示例如下:
declare @salt varchar(max) = 'salt_';-- 加盐字符(可有可无)
declare @password varchar(max) = '123456';-- 加密前字符串
declare @sourcestr varchar(max) = @salt+@password;-- 加密前字符串
/* 加密字符串 */
-- MD5,SHA1 SQL2008及以上支持
select sys.fn_varbintohexstr(HASHBYTES('MD5', @password)),upper(right(sys.fn_varbintohexstr(HASHBYTES('MD5', @password)),len(sys.fn_varbintohexstr(HASHBYTES('MD5', @password)))-2))
select sys.fn_varbintohexstr(HASHBYTES('SHA1', @password)),upper(right(sys.fn_varbintohexstr(HASHBYTES('SHA1', @password)),len(sys.fn_varbintohexstr(HASHBYTES('SHA1', @password)))-2))
-- SHA2_256,SHA2_512 SQL2012及以上支持
select sys.fn_varbintohexstr(HASHBYTES('SHA2_256', @password)),upper(right(sys.fn_varbintohexstr(HASHBYTES('SHA2_256', @password)),len(sys.fn_varbintohexstr(HASHBYTES('SHA2_256', @password)))-2))
select sys.fn_varbintohexstr(HASHBYTES('SHA2_512', @password)),upper(right(sys.fn_varbintohexstr(HASHBYTES('SHA2_512', @password)),len(sys.fn_varbintohexstr(HASHBYTES('SHA2_512', @password)))-2))