Sql Server内置函数实现MD5加密

实例

MD5加密“123456”:

HashBytes('MD5','123456')

结果:0xE10ADC3949BA59ABBE56E057F20F883E (提示:看完最后,结果要进行转换。)

函数

函数 描述 返回值

HashBytes

 HashBytes ('加密方式', '待加密的值')
加密方式= MD2 | MD4 | MD5 | SHA | SHA1
返回值类型:varbinary(maximum 8000 bytes)

提示与注释

123456的MD5 有工具可知结果为:e10adc3949ba59abbe56e057f20f883e

HashBytes生成的结果为:0xE10ADC3949BA59ABBE56E057F20F883E,16进制的数值,去掉“0x”转换为小写值就完全与MD5值吻合了,在此需要用另一个函数(sys.fn_sqlvarbasetostr)把varbinary的值转换为varchar类型的,完整sql如下:

select substring(sys.fn_sqlvarbasetostr(HashBytes('MD5','123456')),3,32)

结果就是完整的MD5值:e10adc3949ba59abbe56e057f20f883e

原文地址:https://www.cnblogs.com/aiqingqing/p/4564916.html