如何正确选择SHA1哈希值?

时间:2016-07-06 11:36:17

标签: sql sql-server tsql encryption sha1

我需要从Microsoft SQL Server数据库中提取SHA1密码才能在外部系统中使用它们。

当我对已知密码进行简单的选择查询时,我得到了这个结果(密码是“密码”):

"{SHA1=5b9febc2d7429c8f2002721484a71a84c12730c7}"

但它应该是5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8

知道如何选择它以获得预期值5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8

1 个答案:

答案 0 :(得分:3)

SHA1哈希是在字节上完成的,而不是在字符上完成的,因此确保从字符到字节的转换是通过商定的编码完成的。

5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8是以ASCII / UTF-8编码的password的SHA1哈希值。

5b9febc2d7429c8f2002721484a71a84c12730c7是UTF-16-BE中编码的password的SHA1哈希值。

要解决此问题,请选择一种编码,然后更改使用其他编码匹配的代码。