我需要从Microsoft SQL Server数据库中提取SHA1密码才能在外部系统中使用它们。
当我对已知密码进行简单的选择查询时,我得到了这个结果(密码是“密码”):
"{SHA1=5b9febc2d7429c8f2002721484a71a84c12730c7}"
但它应该是5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8
。
知道如何选择它以获得预期值5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8
?
答案 0 :(得分:3)
SHA1哈希是在字节上完成的,而不是在字符上完成的,因此确保从字符到字节的转换是通过商定的编码完成的。
5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8
是以ASCII / UTF-8编码的password
的SHA1哈希值。
5b9febc2d7429c8f2002721484a71a84c12730c7
是UTF-16-BE中编码的password
的SHA1哈希值。
要解决此问题,请选择一种编码,然后更改使用其他编码匹配的代码。