> 数据库 > SQL Server 2019 >

SqlServer中计算MD5值


-- 使用sqlserver自带的函数hashbytes()
select hashbytes('MD5','hello') -- 计算'hello'字符串的md5值(同时还支持SHA1运算等)

select sys.fn_VarBinToHexStr(hashbytes('MD5','hello')) --将md5值转换为16进制(以 0x 开头 16 进制形式的二进制数据)

select substring(sys.fn_VarBinToHexStr(hashbytes('MD5','hello')),3,32) -- 截取需要的部分(去掉前两位)
-- 5d41402abc4b2a76b9719d911017c592 (最终结果)

--批量将全部用户密码修改为1,采用下面的算法

密码:=MD5(工号+密码+C_SsoftwareVersion(9bczK28Dr8))
update Users set Password=(Select UPPER(substring(sys.fn_VarBinToHexStr(hashbytes('MD5',CAST(UserNo AS VARCHAR)+'19bczK28Dr8')),3,32)))

(责任编辑:IT)