如何正确地 select SHA1 哈希值?

How to select SHA1 hash values correctly?

我需要从 Microsoft SQL 服务器数据库中提取 SHA1 密码,以便在外部系统中使用它们。

当我对已知密码进行简单的 select 查询时,我得到了这个结果(密码是 "password"):

"{SHA1=5b9febc2d7429c8f2002721484a71a84c12730c7}"

不过应该是5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8.

知道如何select它以获得期望值5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8吗?

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

5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8password 在 ASCII/UTF-8 中编码的 SHA1 散列。

5b9febc2d7429c8f2002721484a71a84c12730c7 是以 UTF-16-BE 编码的 password 的 SHA1 散列。

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