|
分類:[C#]
現在下のプログラムでファイルを閉じて終わる方法を私は模索しています。閉じるのところでoutFileNameを閉じる方法が分かる方がいれば教えてくださいお願いいたします。
開発環境 Microsoft Visual Studio 2005 開発言語 C#
//AESCryptoServiceProviderオブジェクトの作成 System.Security.Cryptography.RijndaelManaged des = new System.Security.Cryptography.RijndaelManaged();
//共有キーと初期化ベクタを決定 //パスワードをバイト配列にする byte[] bytesKey = System.Text.Encoding.UTF8.GetBytes(key); //共有キーと初期化ベクタを設定 des.Key = ResizeBytesArray(bytesKey, des.Key.Length); des.IV = ResizeBytesArray(bytesKey, des.IV.Length);
//暗号化されたファイルを読み込むためのFileStream fsIn = new System.IO.FileStream(fileName, System.IO.FileMode.Open, System.IO.FileAccess.Read);
//AES復号化オブジェクトの作成 System.Security.Cryptography.ICryptoTransform desdecrypt = des.CreateDecryptor(); //読み込むためのCryptoStreamの作成 cryptStreem = new System.Security.Cryptography.CryptoStream(fsIn, desdecrypt, System.Security.Cryptography.CryptoStreamMode.Read);
//復号化されたファイルの保存先 if (fileName.ToLower().EndsWith(".enc")) outFileName = fileName.Substring(0, fileName.Length - 4); else outFileName = fileName + ".dec"; //復号化されたファイルを書き出すためのFileStream fsOut = new System.IO.FileStream(outFileName, System.IO.FileMode.Create, System.IO.FileAccess.Write);
//復号化されたデータを書き出す byte[] bs = new byte[256]; int readLen; while ((readLen = cryptStreem.Read(bs, 0, bs.Length)) > 0) fsOut.Write(bs, 0, readLen);
//閉じる cryptStreem.Close(); fsIn.Close(); fsOut.Close();
|