好的,所以我有这个用于解密文件的代码
public static byte[] DecryptFile(string inputFile, string skey)
{
RijndaelManaged aes = new RijndaelManaged();
byte[] key = ASCIIEncoding.UTF8.GetBytes(skey);
using (FileStream fsCrypt = new FileStream(inputFile, FileMode.Open))
{
using (CryptoStream cs =
new CryptoStream(fsCrypt, aes.CreateDecryptor(key, key),
CryptoStreamMode.Read))
{
using (BinaryReader reader = new BinaryReader(cs))
{
byte[] str = reader.ReadBytes(Convert.ToInt32(cs.Length));
reader.Close();
cs.Close();
return (str);
}
}
}
}
}
现在我遇到了问题,我无法确定字节长度!我试过了
cs.Length
但它说流不支持寻找(类似的东西)我也尝试通过计算文件的字节数
File.ReadAllBytes(encrypted_file_path).Length
但它说该文件正在使用中...由于 FileStream fsCrypt确实在使用中
与此同时,我cs.Length
用一些大整数替换了它以使其工作..比如 1000000..不会导致任何异常的最大整数..它确实以这种方式工作。