温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C# AES

发布时间:2020-06-11 02:44:35 来源:网络 阅读:537 作者:Aonaufly 栏目:编程语言

AES加密在Socket通讯中经常会用到.现分享一个ASE加密解密类库.

C# AES


先看看测试 :

using System; using System.Collections.Generic; using System.Linq; using System.Text; using AESLib; namespace AESTest {     public class Program     {         static void Main(string[] args)         {             //静态加解密测试(每一次用的密码都是一样的)->(ABSEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDD)             Console.WriteLine("静态密码测试加密解密===========================================");             AESTool aestool_static = new AESTool("ABSEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDD",-1,false);//ABSEDEEE为key             string mingwen = "---Aonaufly-我-----%%";             Console.WriteLine("加密明文 : {0}", mingwen);             string miwen = aestool_static.Encrypt(mingwen);             Console.WriteLine("得到密文 : {0}", miwen);             Console.WriteLine("得到明文 : {0}", aestool_static.Decrypt(miwen));             //动态加解密测试(推荐使用)( 每一次用的密码可能都是不一样的)->( dynamic_key 动态密码(下次可以更改) )             Console.WriteLine("\n");             Console.WriteLine("动态密码测试加密解密(推荐使用 -> 优点 : 安全性更高 , 缺点 : 加密产生的字节多,效率没有静态的高)===========================================");             AESTool aestool_dynamic = new AESTool("我---Aonaufly%%", -1, true);//"我---Aonaufly%%"为动态随机密码与"ACGF~%"进行组合,保密性更强             string dynamic_key = "ACGF~%";//动态密码(下次可以更改)             Console.WriteLine("加密明文 : {0}", mingwen);             miwen = aestool_dynamic.Encrypt_Key(mingwen, dynamic_key);             Console.WriteLine("得到密文 : {0}", miwen);             Console.WriteLine("得到明文 : {0}", aestool_dynamic.Decrypt_Key(miwen));             Console.ReadKey();         }     } }

结果 :

C# AES

如果对程序安全要求很高的话 , 建议使用动态的加解密方式.这样每一次的密码可能都不一样.非常的安全.


附如何产生随机种子( 在动态密码随机融合的时候用到 )

        /// <summary>         /// 获得随机补充密码字符char , 动态         /// </summary>         private char RondomFillKey2Dynamic         {             get              {                 int len = dynamic_key_random.Length;                 char[] arr = dynamic_key_random.ToArray<char>();                 Random rdm = new Random(Guid.NewGuid().GetHashCode());//Guid.NewGuid().GetHashCode() 随机种子                 return arr[rdm.Next(0, len)];             }         }


附件:http://down.51cto.com/data/2366899
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI