我想创建一个文件“myFile”,它使用某个密钥加密第一部分,使用某个密钥加密最后一部分。到目前为止,我有这样的事情:
cs1 = new CryptoStream(myFile, symmetricKey1.CreateEncryptor(key1, key1IV), CryptoStreamMode.Write);
cs2 = new CryptoStream(myFile, symmetricKey2.CreateEncryptor(key2, key2IV), CryptoStreamMode.Write);
我想使用 cs1 写入文件的第一部分,然后使用 cs2 写入文件的第一部分,如下所示:
while((data = fs1.readByte()) != -1){
cs1.WriteByte(data);
}
while((data = fs2.readByte()) != -1){
cs2.WriteByte(data);
}
此过程没有错误,但第二个 CryptoStream (cs2) 实际上并未写入文件。有谁知道为什么会发生这种情况?有一个更好的方法吗?谢谢
编辑:关闭 CryptoStream 似乎也关闭了 myFile,但是如果我关闭然后重新打开然后启动第二个 CryptoStream,这似乎可以工作,尽管它不像我希望的那样干净。谢谢您的帮助!