Encryption 从密码短语派生加密/解密密钥时,最常用的编码是什么?

Encryption 从密码短语派生加密/解密密钥时,最常用的编码是什么?,encryption,unicode,hash,cryptography,Encryption,Unicode,Hash,Cryptography,当我从密码短语派生加密密钥时,使用哈希算法从密码短语派生密钥是非常常见的。例如SHA-256(单轮或多轮)和SCrypt 但是,在散列函数中输入密码短语时,它通常是使用UTF-8还是UTF-16编码的 我知道不可能“兼容”所有其他现有的加密机制,但我想知道哪种方式实际上是最常见的。鉴于熵是相同的,UTF8和UTF16之间的选择真的不重要 当有疑问时,UTF-8.:)是的,我注意到了。愚蠢的问题,应该删除它:pUTF-8是PBKDF2的非官方默认值,但它只是规范中的一个提示。微软将默认使用它,Ja

当我从密码短语派生加密密钥时,使用哈希算法从密码短语派生密钥是非常常见的。例如SHA-256(单轮或多轮)和SCrypt

但是,在散列函数中输入密码短语时,它通常是使用UTF-8还是UTF-16编码的


我知道不可能“兼容”所有其他现有的加密机制,但我想知道哪种方式实际上是最常见的。

鉴于熵是相同的,UTF8和UTF16之间的选择真的不重要

当有疑问时,UTF-8.:)是的,我注意到了。愚蠢的问题,应该删除它:pUTF-8是PBKDF2的非官方默认值,但它只是规范中的一个提示。微软将默认使用它,Java将使用Unicode代码点的低8位(主要是为了使用可擦除的
char[]
作为输入)。对于西方国家,您可能会选择只允许ASCII,这可能是跨实现最兼容的。我在想,如果人们想手动解密从我提供的服务中恢复的数据,遵循行业标准可能会很有用,这样他们就不必做非常规的事情。但我已经注意到,在我正在研究的案例中,UTF-8是标准化的。()