C


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

AES+Base64で暗号化されたものを復号化する

namespace AESEncode
{
   class Program
   {
       private const string ENCRYPT_KEY = @"1234567890123456";
       private const string ENCRYPT_IV = @"abcdefghijklmnop";
      
       static void Main(string[] args)
       {
           string src = "暗号化された文字列";
           Console.WriteLine(AESEncode.Program.Decrypt(src));
       }
       /// <summary>
       /// 文字列をAESで復号化
       /// </summary>
       public static string Decrypt(string text)
       {
           // AES暗号化サービスプロバイダ
           AesCryptoServiceProvider aes = new AesCryptoServiceProvider();
           aes.BlockSize = 128;
           aes.KeySize = 128;
           aes.IV = Encoding.UTF8.GetBytes(ENCRYPT_IV);
           aes.Key = Encoding.UTF8.GetBytes(ENCRYPT_KEY);
           aes.Mode = CipherMode.CBC;
           aes.Padding = PaddingMode.PKCS7;

           // Base64形式の文字列からバイト型配列に変換
           byte[] src = System.Convert.FromBase64String(text);

           // 複号化する
           using (ICryptoTransform decrypt = aes.CreateDecryptor())
           {
               byte[] dest = decrypt.TransformFinalBlock(src, 0, src.Length);
               //return Encoding.Unicode.GetString(dest);
               return System.Text.Encoding.ASCII.GetString(dest);
           }
       }
   }
}