ACryptLib.ACrypt.DecryptString C# (CSharp) Method

DecryptString() public static method

暗号化された文字列を復号化する
public static DecryptString ( string str, string key ) : string
str string 暗号化された文字列
key string パスワード
return string
        public static string DecryptString(string str, string key)
        {
            //DESCryptoServiceProviderオブジェクトの作成
            var des = new System.Security.Cryptography.DESCryptoServiceProvider();

            // 共有キーと初期化ベクタを決定
            // パスワードをバイト配列にする
            var bytesKey = System.Text.Encoding.UTF8.GetBytes(key);

            // 共有キーと初期化ベクタを設定
            des.Key = ResizeBytesArray(bytesKey, des.Key.Length);
            des.IV = ResizeBytesArray(bytesKey, des.IV.Length);

            // Base64で文字列をバイト配列に戻す
            var bytesIn = System.Convert.FromBase64String(str);

            // 暗号化されたデータを読み込むためのMemoryStream
            var msIn = new System.IO.MemoryStream(bytesIn);

            // DES復号化オブジェクトの作成
            var desdecrypt = des.CreateDecryptor();

            // 読み込むためのCryptoStreamの作成
            var cryptStreem = new System.Security.Cryptography.CryptoStream(msIn, desdecrypt, System.Security.Cryptography.CryptoStreamMode.Read);

            // 復号化されたデータを取得するためのStreamReader
            var srOut = new System.IO.StreamReader(cryptStreem, System.Text.Encoding.UTF8);

            // 復号化されたデータを取得する
            var result = srOut.ReadToEnd();

            // 閉じる
            srOut.Close();
            cryptStreem.Close();
            msIn.Close();

            return result;
        }