如何在sql server中实现自动加密,sql server 提供内置函数HashBytes。
首先,我们在数据库中执行
select HashBytes('MD5','12345678')
得到结果:0x25D55AD283AA400AF464C76D713C07AD
然后,我们使用MD5在线加密,得到结果如下:
我们可以看到数据库得到的结果比在线MD5加密32位大写的结果前面多了0x,我们去掉0x再转换一下格式就可以了。在此需要用另一个函数(sys.fn_sqlvarbasetostr)把varbinary的值转换为varchar类型的,完整sql如下:
select substring(sys.fn_sqlvarbasetostr(HashBytes('MD5','12345678')),3,32)
得到结果:25d55ad283aa400af464c76d713c07ad