|
/// <summary> /// ファイルを暗号化する /// </summary> /// <remarks> /// 暗号化されたファイルは"(ファイル名).enc"として保存される /// </remarks> /// <param name="fileName">暗号化するファイル名</param> /// <param name="key">パスワード</param> public static void EncryptFile(string fileName, string key) { //暗号化するファイルを読み込む System.IO.FileStream fsIn = new System.IO.FileStream(fileName, System.IO.FileMode.Open, System.IO.FileAccess.Read); //すべて読み込む byte[] bytesIn = new byte[fsIn.Length]; fsIn.Read(bytesIn, 0, bytesIn.Length); //閉じる fsIn.Close();
//DESCryptoServiceProviderオブジェクトの作成 System.Security.Cryptography.DESCryptoServiceProvider des = new System.Security.Cryptography.DESCryptoServiceProvider();
//共有キーと初期化ベクタを決定 //パスワードをバイト配列にする byte[] bytesKey = System.Text.Encoding.UTF8.GetBytes(key); //共有キーと初期化ベクタを設定 des.Key = ResizeBytesArray(bytesKey, des.Key.Length); des.IV = ResizeBytesArray(bytesKey, des.IV.Length);
//暗号化されたファイルの保存先 string outFileName = fileName + ".enc"; //暗号化されたファイルを書き出すためのFileStream System.IO.FileStream fsOut = new System.IO.FileStream(outFileName, System.IO.FileMode.Create, System.IO.FileAccess.Write); //DES暗号化オブジェクトの作成 System.Security.Cryptography.ICryptoTransform desdecrypt = des.CreateEncryptor(); //書き込むためのCryptoStreamの作成 System.Security.Cryptography.CryptoStream cryptStreem = new System.Security.Cryptography.CryptoStream(fsOut, desdecrypt, System.Security.Cryptography.CryptoStreamMode.Write); //書き込む cryptStreem.Write(bytesIn, 0, bytesIn.Length); //閉じる cryptStreem.Close(); fsOut.Close(); }
のどこを変えればいいのですか?
|