我有2种方法可以生成2个不同的数据,需要将它们保存在一个加密文件中。
我可以通过添加加密的stringA +加密的stringB来实现这一点,然后再解密吗?
或者
我必须加入stringA - >另存为文件 - >阅读文件&解密为stringA - > stringA + stringB - >加密?
注意,我正在使用Rijndael(AES),有人建议使用自定义流,它会有效吗?
有什么想法? 非常感谢〜
答案 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模式被认为是非常不安全的,因为这样做(它会对密码进行某些类型的攻击非常容易)。