C#之AES256位加密解密

密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。

操作方法

  • 01

    AES加密代码 /// <summary> /// AES加密 /// </summary> /// <param name="encryptStr">明文</param> /// <param name="key">密钥</param> /// <returns></returns> public static string Encrypt(string encryptStr,string key) { byte[] keyArray = UTF8Encoding.UTF8.GetBytes(key); byte[] toEncryptArray = UTF8Encoding.UTF8.GetBytes(encryptStr); RijndaelManaged rDel = new RijndaelManaged(); rDel.Key = keyArray; rDel.Mode = CipherMode.ECB; rDel.Padding = PaddingMode.PKCS7; ICryptoTransform cTransform = rDel.CreateEncryptor(); byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length); return Convert.ToBase64String(resultArray, 0, resultArray.Length); }

  • 02

    AES解密代码 /// <summary> /// AES解密 /// </summary> /// <param name="decryptStr">密文</param> /// <param name="key">密钥</param> /// <returns></returns> public static string Decrypt(string decryptStr,string key) { byte[] keyArray = UTF8Encoding.UTF8.GetBytes(key); byte[] toEncryptArray = Convert.FromBase64String(decryptStr); RijndaelManaged rDel = new RijndaelManaged(); rDel.Key = keyArray; rDel.Mode = CipherMode.ECB; rDel.Padding = PaddingMode.PKCS7; ICryptoTransform cTransform = rDel.CreateDecryptor(); byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length); return UTF8Encoding.UTF8.GetString(resultArray); }

  • 03

    主程序入口,测试代码 static void Main(string[] args) { string encryptStr,decryptStr, key; key = "ae125efkk4454eeff444ferfkny6oxi8"; encryptStr = "C#AES加密字符串"; Console.WriteLine("==============  256位AES加密  ============\n"); Console.WriteLine("加密前的字符串:"+encryptStr); Console.WriteLine("密钥:" + key); Console.WriteLine(); decryptStr = Program.Encrypt(encryptStr,key); Console.WriteLine("加密后的字符串:" + decryptStr); encryptStr = Program.Decrypt(decryptStr, key); Console.WriteLine("解密后的字符串:" + encryptStr); Console.ReadKey(); }

  • 04

    运行结果

(0)

相关推荐

  • 巧设密码保质期让文件自动加密解密无需反复的输入密码

    有时候你会面临很多内部机密的文件由其管理。出于安全性的考虑,小赵对其进行了加密处理。不过在实际工作中,当加密或者解密文件时,需要反复的输入密码,密码太多就很难记住,而且加密解密步骤太繁琐了。下面系统之 ...

  • 图解HTTPS协议加密解密全过程

    我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取。所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议。 HTTPS简介 HTTPS其实是有两部分组成:HTTP + SSL ...

  • 用超级加密3000给文件加密解密的方法

    本软件是一个功能强大、安全高效,简单易用的数据加密和保护软件。 它有超快和最强的文件夹,文件加密功能、数据保护功能,文件夹、文件的粉碎删除以及文件夹伪装等功能。 1、运行软件 双击桌面上的图标 或者点 ...

  • 对称加密之AES及压缩加密解密解压综合实战

    对称加密:就是采用这种加密方法的双方使用方式用同样的密钥进行加密和解密。密钥是控制加密及解密过程的指令。算法是一组规则,规定如何进行加密和解密。 因此加密的安全性不仅取决于加密算法本身,密钥管理的安全 ...

  • 幽灵加密解密怎么用

    幽灵加密解密怎么用 1.打开幽灵加密解密,[浏览]选择加密文件 2.设置加密算法以及密码,点击[加密]按钮即可 3.解密时,选对算法,自行解密即可

  • PGP如何加密解密

    PGP:全名:Pretty Good Privacy,也是一个混合型加密体系的称呼.通常只理解为是PGP公司的系列软件.能对邮件.文件.文件夹.整个硬盘加密,全网段加密权限和访问权限控制等.本文讲解如 ...

  • 如何使用bitlocker为u盘加密,解密?

    bitlocker是什么东西,很多人都不知道,其实它是win7系统自带的小程序,功能强大,使用起来非常简单,今天小编就教大家如何使用bitlocker加密u盘. 一.插好u盘后,打开"开始→ ...

  • CentOS下如何用Vim加密解密文本详解

    CentOS用vim/vi给文件加密和解密 一. 利用 vim/vi 加密: 优点:加密后,如果不知道密码,就看不到明文,包括root用户也看不了; 缺点:很明显让别人知道加密了,容易让别人把加密的文 ...

  • CentOS下Vim加密解密文本详解

    CentOS用vim/vi给文件加密和解密 一. 利用 vim/vi 加密: 优点:加密后,如果不知道密码,就看不到明文,包括root用户也看不了: 缺点:很明显让别人知道加密了,容易让别人把加密的文 ...