私は、このMSDNのページに良い例を見ていた:例にhttp://msdn.microsoft.com/en-us/library/system.security.cryptography.x509certificates.x509certificate2.aspxMSDN例:これはバグや最適化(X509Certificate2クラス)です
下にスクロールして半分の方法や方法に見て:
// Decrypt a file using a private key.
private static void DecryptFile(string inFile, RSACryptoServiceProvider rsaPrivateKey)
あなたはストリームオフint型の読み取りしようとしている間、一度に3バイトを読んでいる読者がわかります。次の行をtを求めているので
inFs.Seek(0, SeekOrigin.Begin);
inFs.Read(LenK, 0, 3);// <---- this should be 4
inFs.Seek(4, SeekOrigin.Begin);// <--- this line masks the bug for smaller ints
inFs.Read(LenIV, 0, 3); // <---- this should be 4
をo "4"の位置では、バグがマスクされています。 AES KeyとIVの長さが3バイトに調整されているので、読み込み専用の3つしか読み飛ばすことができないことが分かっているので、したがって、ディスクから1バイト分の読み出しを保存しますか?
最適化すれば....本当に??