在查看了一些示例之后,我将一些加密/解密方法结合在一起,这些方法利用Rfc2898DeriveBytes
来获取密钥和初始化向量。我担心接收加密内容的一方必须能够解密它。由于我无法控制他们使用的语言(可能是Java,PHP,C等等),我如何确保他们能够导出密钥和初始化向量(IV),因为我使用{{1在.NET中的类?以下是我正在使用的加密和解密方法。
Rfc2898DeriveBytes
答案 0 :(得分:4)
您会告诉收件人实施PBKDF2,这是RFC2898和PKCS #5中定义的标准。 Microsoft's documentation表示他们的函数使用HMAC-SHA-1作为伪随机函数,并使用1000作为默认迭代次数。这是他们需要的信息。
但是,您还需要在发送方传输使用GenerateSalt()
创建的salt。收件人不能自己调用GenerateSalt()
- 应该为每条消息随机生成。