AESTest

摘要:
usingGaea.MySql;usingSystem;usingSystem.Data;usingSystem.IO;usingSystem.Security.Cryptography;usingMicrosoft.Extensions.DependencyInjection;usingSystem.Text;usingSystem.Threading;usingSystem.Diagnosti
usingGaea.MySql;
usingSystem;
usingSystem.Data;
usingSystem.IO;
usingSystem.Security.Cryptography;
usingMicrosoft.Extensions.DependencyInjection;
usingSystem.Text;
usingSystem.Threading;
usingSystem.Diagnostics;
namespaceAESTest
{
    classProgram
    {
        public static int _count = 0;
        static void Main(string[] args)
        {
            GaeaMySqlPower.Register("server=localhost;port=3306;user id=root;password=Aa82078542;database=testmysql;SslMode=none");
            var resultDataTable = OpenCSV(@"E:csvs
esult.csv");
            Console.WriteLine("程序运行结束");
            Console.ReadKey();
        }
        //手机号和姓名
        public static string AESDecrypt(string text, string key = "Jhek5ie*6ldh/kdb8g5da>ljbz-jhbvd")
        {
            try
            {
                var encryptBytes =Convert.FromBase64String(text);
                var aes =Aes.Create();
                aes.Mode =CipherMode.ECB;
                aes.Padding =PaddingMode.PKCS7;
                aes.Key = Encoding.UTF8.GetBytes(key.Substring(0, 32));
                aes.IV = new byte[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
                var transform =aes.CreateDecryptor();
                var decryptBytes = transform.TransformFinalBlock(encryptBytes, 0, encryptBytes.Length);
                returnEncoding.UTF8.GetString(decryptBytes);
            }
            catch
            {
                return string.Empty;
            }
        }
        //身份证号
        public static string Decrypt(string cipherText, string key = "Jhek5ie*6ldh/kdb8g5da>ljbz-jhbvd")
        {
            string plainText = "";
            try
            {
                var ivData = new byte[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
                byte[] Key = Encoding.UTF8.GetBytes(key.Substring(0, 32));
                RijndaelManaged rijndael = newRijndaelManaged();
                ICryptoTransform transform =rijndael.CreateDecryptor(Key, ivData);
                byte[] bCipherText = Convert.FromBase64String(cipherText);//这里要用这个函数来正确转换Base64字符串成Byte数组
                MemoryStream ms = newMemoryStream(bCipherText);
                CryptoStream cs = newCryptoStream(ms, transform, CryptoStreamMode.Read);
                byte[] bPlainText = new byte[bCipherText.Length];
                cs.Read(bPlainText, 0, bPlainText.Length); plainText =Encoding.ASCII.GetString(bPlainText);
                plainText = plainText.Trim('

免责声明:内容来源于网络,仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇全栈工程师之路反向代理服务器与代理服务器的区别与作用下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

.NET中的Func委托用法

MSDN对于Func<T, TResult>)的官方解释: 封装一个具有一个参数并返回 TResult 参数指定的类型值的方法。  下面通过几个例子对比下,就容易知道其用法: 以下例子演示了如何利用委托将字符串转化为大写:     delegate string ConvertMethod(string inString);    privat...

PHP教程:PHPUnit学习笔记(四)断言详解

断言(Assertions)是PHPUnit提供的一系列对程序执行结果测试的方法。通俗的讲,就是断言执行程序结果为我们期待的值,如果不是则 测试失败,下面是断言方法的详细介绍,内容全部来翻译自PHPUnit的官方文档,部分方法官方介绍的很模糊,我根据官方的源码注释增加了说明和注释 assertArrayHasKey(mixed $key, array $a...

Soap流程

首先本文不对SOAP有过多的解释,你只需知道它是--简单对象访问协议,一种轻量的、简单的、基于 XML 的协议。举个例子,WebService其实就基于SOAP的。 再简单的说一下,SOAP就是打包-->发送-->收包-->处理-->返回包等一系列流程,在ASP.NET中可以使用MSXML2中的XMLHTTPClass类来创建SOA...

文件重命名(递归)

假设需要写入日志文件,但是不希望日志文件太大影响程序性能,这时需要将原文件重命名 //判断文件是否大于10M //取得文件大小 if (File.Exists(logpath)) { FileInfo MyFileInfo = new FileInfo(...

Java几种常用JSON库性能比较

本篇通过JMH来测试一下Java中几种常见的JSON解析库的性能。 每次都在网上看到别人说什么某某库性能是如何如何的好,碾压其他的库。但是百闻不如一见,只有自己亲手测试过的才是最值得相信的。 JSON不管是在Web开发还是服务器开发中是相当常见的数据传输格式,一般情况我们对于JSON解析构造的性能并不需要过于关心,除非是在性能要求比较高的系统。 目前对于J...

http协议的POST传数据

PostRequest使用StreamWriter对象写入请求流,不需要使用HttpUtility.UrlEncode显示转码,而下面的需要显示转码,还需要将参数转为字节码 蛋疼…………。 public static string PostRequest(string url, string postData) { HttpWebRequest httpW...