我最初的计划是使用.NET内置散列库(SHA512)并将密码与salt一起存储。我很熟悉如何做到这一点。
已要求我们应该能够在SQL脚本中手动添加用户及其密码。我熟悉使用HASHBYTES SQL Server来完成密码散列,我知道它的缺点(SHA1和没有盐)。
有没有办法让.NET代码和SQL Server HASHBYTES一起工作?我想这是不可能的,除非我想删除盐并使用SHA1作为.NET代码中的散列算法。
答案 0 :(得分:3)
您可以编写一个CLR存储过程/函数,它将使用.NET功能并将其部署到SQL服务器上来执行该任务。因此,您可以直接从SQL服务器调用您的.NET代码,而不是HASHBYTES。 Here is a link to quick sample of such function