gpt4 book ai didi

hash - 使用 UTF-8 字符更正 SHA256 实现

转载 作者:行者123 更新时间:2023-12-05 01:45:54 24 4
gpt4 key购买 nike

我在比较由不同语言/函数生成的 SHA256 哈希值时遇到了问题。

例如,SHA256("í") 要么返回:

f3df1f9c358ae8eceb8fce7c00614288d113ad55315f4ebb909774a7daadfc84

-或-

127035a8ff26256ea0541b5add6dcc3ecdaeea603e606f84e0fd63492fbab2c5

对于只有一个字符的字符串,上述哈希值中的哪一个是正确的,处理 UTF-8 字符串的正确方法是什么?

最佳答案

Which of the above hash is correct for a string of one character

没有“正确”的答案。散列的是字节,而不是“字符”。对哪些字节进行哈希处理完全取决于字符串的编码。

"í" 在 Windows-1252 中是字节 ED,其散列为:

f3df1f9c358ae8eceb8fce7c00614288d113ad55315f4ebb909774a7daadfc84

"í" 在 UTF-8 中是字节 C3 AD,其散列为:

127035a8ff26256ea0541b5add6dcc3ecdaeea603e606f84e0fd63492fbab2c5

"í" 在 UTF-16LE 中是字节 ED 00,其散列为:

430e2ca27910b5ee6e0ec56a12b81325c763376cb8e25a60362dce9444424f95

在各种编程语言中具体如何工作取决于语言和它们对字符串使用的编码。

关于hash - 使用 UTF-8 字符更正 SHA256 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39589999/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com