我可以将2个加密字符串一起添加并解密吗?

时间:2009-12-14 20:14:33

标签: c# encryption aes

我有2种方法可以生成2个不同的数据,需要将它们保存在一个加密文件中。

我可以通过添加加密的stringA +加密的stringB来实现这一点,然后再解密吗?

或者

我必须加入stringA - >另存为文件 - >阅读文件&解密为stringA - > stringA + stringB - >加密?

注意,我正在使用Rijndael(AES),有人建议使用自定义流,它会有效吗?

有什么想法? 非常感谢〜

3 个答案:

答案 0 :(得分:4)

如果您正在使用ECB(electronic code book),则应该可以(假设它们使用相同的加密密钥),因为每个块都独立于其他块进行解密。如果您正在使用CBC(cipher block chaining),这将无效,因为每个块都使用前一个块中的数据进行加密。但是,使用ECB的安全性不如CBC。

答案 1 :(得分:2)

如果您单独加密每个加密文本,并知道每个加密文本块的长度,您可以稍后单独解密它们。

这种格式可能会起作用:

Message1Length
Message1Content
Message2Content

将Message1Length字节数读入消息并将其存储为encryptedMessage1或其他内容。然后从该点读取到文件结尾并将其存储为encryptedMessage2。然后单独解密它们。

答案 2 :(得分:2)

这取决于您使用的加密算法。对于ECB mode中的分组密码,它会起作用 - 但ECB模式被认为是非常不安全的,因为这样做(它会对密码进行某些类型的攻击非常容易)。