我发现了一个奇怪的情况,当 SQL Server 的函数在将其转换为包含变音符号 (ä,ö,ü,ß) 的字符串Hashbyte
时没有输出正确的结果。SHA2_256
我在 SQL Server 中运行示例代码:
declare @cryptString varchar(50)
set @cryptString = 'test'
select convert(Varchar(64), Hashbytes('SHA2_256', @cryptstring), 2)
结果是:
9F86D081884C7D659A2FEAA0C55AD015A3BF4F1B2B0B822CD15D6C15B0F00A08
当我在https://hashgenerator.de/上检查 SHA256 转换时,结果是一样的。
我的问题:当我尝试加密例如“müller”时,SQL Server 中的结果是:
26A45113433596C5DD53643C7652381202E8009E532A280E513D887174A9ED14
当我在https://hashgenerator.de/上检查 SHA256 转换时,结果不同。
2dbd218072117713f2d5996a726a9b216ed791ffd0783b6ba4ab6d61b8333192
我认为这可能是一个编码问题,但我搜索了几个小时,找不到任何线索来解决这个问题。
我感谢任何形式的帮助来解决这个问题。