教学服务系统

 找回密码
 立即注册
搜索
查看: 545|回复: 1

信息计算2019级1班20号李善安

[复制链接]

10

主题

18

帖子

108

积分

注册会员

Rank: 2

积分
108
发表于 2022-4-5 16:02:51 | 显示全部楼层 |阅读模式

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

10

主题

18

帖子

108

积分

注册会员

Rank: 2

积分
108
 楼主| 发表于 2022-4-5 20:22:42 | 显示全部楼层
  1. using System;
  2. using System.Collections.Generic;
  3. //using Word = Microsoft.Office.Interop.Word;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using System.Security.Cryptography;

  8. namespace ConsoleApp1
  9. {
  10.     class Program
  11.     {
  12.         /// <summary>
  13.         /// AES 算法加密(ECB模式) 将明文加密,加密后进行base64编码,返回密文
  14.         /// </summary>
  15.         /// <param name="EncryptStr">明文</param>
  16.         /// <param name="Key">密钥</param>
  17.         /// <returns>加密后base64编码的密文</returns>
  18.         public static string AesEncryptor_Base64(string EncryptStr, string Key)
  19.         {
  20.             try
  21.             {
  22.                 //byte[] keyArray = Encoding.UTF8.GetBytes(Key);
  23.                 byte[] keyArray = Convert.FromBase64String(Key);
  24.                 byte[] toEncryptArray = Encoding.UTF8.GetBytes(EncryptStr);

  25.                 RijndaelManaged rDel = new RijndaelManaged();
  26.                 rDel.Key = keyArray;
  27.                 rDel.Mode = CipherMode.ECB;
  28.                 rDel.Padding = PaddingMode.PKCS7;

  29.                 ICryptoTransform cTransform = rDel.CreateEncryptor();
  30.                 byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);

  31.                 return Convert.ToBase64String(resultArray, 0, resultArray.Length);
  32.             }
  33.             catch (Exception ex)
  34.             {
  35.                 return null;
  36.             }
  37.         }
  38.         /// <summary>
  39.         /// AES 算法解密(ECB模式) 将密文base64解码进行解密,返回明文
  40.         /// </summary>
  41.         /// <param name="DecryptStr">密文</param>
  42.         /// <param name="Key">密钥</param>
  43.         /// <returns>明文</returns>
  44.         public static string AesDecryptor_Base64(string DecryptStr, string Key)
  45.         {
  46.             try
  47.             {
  48.                 //byte[] keyArray = Encoding.UTF8.GetBytes(Key);
  49.                 byte[] keyArray = Convert.FromBase64String(Key);
  50.                 byte[] toEncryptArray = Convert.FromBase64String(DecryptStr);

  51.                 RijndaelManaged rDel = new RijndaelManaged();
  52.                 rDel.Key = keyArray;
  53.                 rDel.Mode = CipherMode.ECB;
  54.                 rDel.Padding = PaddingMode.PKCS7;

  55.                 ICryptoTransform cTransform = rDel.CreateDecryptor();
  56.                 byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);

  57.                 return Encoding.UTF8.GetString(resultArray);//  UTF8Encoding.UTF8.GetString(resultArray);
  58.             }
  59.             catch (Exception ex)
  60.             {
  61.                 return null;
  62.             }
  63.         }
  64.         static void Main(string[] args)
  65.         {
  66.             string minwen = "lishan'an xiang xue dongxi ya ";
  67.             string miyao = "3CA10B2157F01916902E1380ACC107BD";
  68.             string miwen = AesEncryptor_Base64(minwen, miyao);
  69.             Console.WriteLine("加密后的密文为:"+miwen);
  70.             string str = AesDecryptor_Base64(miwen, miyao);
  71.             Console.WriteLine("解密后的明文为:"+str);


  72.         }
  73.     }
  74. }
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

教学服务系统

GMT+8, 2025-5-6 08:21 , Processed in 0.015390 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表