gpt4 book ai didi

.net - 将 salt/IV 与散列/密文连接/编码的标准?

转载 作者:行者123 更新时间:2023-12-05 04:18:44 33 4
gpt4 key购买 nike

背景:我编写了一对用于 AES 加密/解密的 .NET 函数。

我想将 IV 和密文存储在单个 base64 编码字符串中,类似于 described here .

我见过散列 this example他将 salt 字节附加到哈希字节的末尾,然后 base64 对新数组进行编码。然后,在验证哈希时,他对base64字符串进行解码,并拆分出salt和哈希字节。

我的问题是:是否有明确的标准来描述我应该如何执行串联,以便我的 base64 编码数据可以被其他程序解析和解密?还是仅由我作为程序员来编写我的加密/解密函数来解析我认为合适的数据?

标准会回答这样的问题:我是否将 IV 字节添加到密文字节的前面或后面?

我理想的函数签名应该是这样的:

// returns base64encodedCiphertextAndIV
string encrypt(string plaintext, string base64encodedKey)

// returns plaintext
string decrypt(string base64encodedCiphertextAndIV, string base64encodedKey)

最佳答案

将 IV 添加到密文的前面非常好,而且非常标准。 IV 不必保密,只有 key 必须保密。如果您正在使用 CTR 模式,那么 IV 在给定 key 中是唯一的非常重要。如果您使用 CBC 模式,拥有唯一的 IV 很有用,但不是那么重要。

关于.net - 将 salt/IV 与散列/密文连接/编码的标准?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10065927/

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