資源簡介
運用C#開發的AES文件加密解密軟件,支持任意格式、任意大小文件加密。采用字節流的方式對文件加密,當文件過大時可采用分塊加密,確保大型文件加密解密成功

代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.Linq;
using?System.Text;
using?System.Threading.Tasks;
using?System.Security.Cryptography;
using?System.IO;
namespace?AESEncrypt
{
????class?AES_EnorDecrypt
????{
????????//定義默認密鑰
????????private?static?byte[]?_aesKeyByte?=?{?0x12?0x34?0x56?0x78?0x90?0xAB?0xCD?0xEF?0x12?0x34?0x56?0x78?0x90?0xAB?0xCD?0xEF?};
????????private?static?string?_aesKeyStr?=?Encoding.UTF8.GetString(_aesKeyByte);
????????///?
????????///?隨機生成密鑰,默認密鑰長度為32,不足在加密時自動填充空格
????????///?
????????///?密鑰長度
????????///?
????????public?static?string?GetIv(int?n)
????????{
????????????string?s?=?“abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ“;
????????????char[]?arrChar?=?new?char[s.Length];
????????????for?(int?i?=?0;?i?????????????{
????????????????arrChar[i]?=?Convert.ToChar(s.Substring(i?1));
????????????}
????????????StringBuilder?num?=?new?StringBuilder();
????????????Random?rnd?=?new?Random(DateTime.Now.Millisecond);
????????????for?(int?i?=?0;?i?????????????{
????????????????num.Append(arrChar[rnd.Next(0?arrChar.Length)].ToString());
????????????}
????????????_aesKeyByte?=?Encoding.UTF8.GetBytes(num.ToString());
????????????return?_aesKeyStr?=?Encoding.UTF8.GetString(_aesKeyByte);
????????}
????????///?
????????///?AES加密,針對文本類文件
????????///?
????????///?被加密的明文
????????///?密鑰
????????///?密鑰向量
????????///?密文
????????public?static?string?AESEncrypt(string?Data?string?Key?string?Vector)
????????{
????????????byte[]?plainBytes?=?Encoding.UTF8.GetBytes(Data);
????????????byte[]?bKey?=?new?byte[32];
????????????Array.Copy(Encoding.UTF8.GetBytes(Key.PadRight(bKey.Length))?bKey?bKey.Length);
????????????byte[]?bVector?=?new?byte[16];
????????????Array.Copy(Encoding.UTF8.GetBytes(Vector.PadRight(bVector.Length))?bVector?bVector.Length);
????????????byte[]?Cryptograph?=?null;//加密后的密文
????????????Rijndael?Aes?=?Rijndael.Create();
????????????try
????????????{
????????????????using?(MemoryStream?Memory?=?new?MemoryStream())
????????????????{
????????????????????//把內存流對象包裝成加密流對象
????????????????????using?(CryptoStream?Encryptor?=?new?CryptoStream(Memory?Aes.CreateEncryptor(bKey?bVector)?CryptoStreamMode.Write))
????????????????????{
????????????????????????Encryptor.Write(plainBytes?0?plainBytes.Length);
????????????????????????Encryptor.FlushFinalBlock();
????????????????????????Cryptograph?=?Memory.ToArray();
????????????????????}
????????????????}
????????????}
????????????catch
????????????{
????????????????Cryptograph?=?null;
????????????}
????????????return?Convert.Tobase64String(Cryptograph);
????????}
????????///?
????????///?AES加密,任意文件
????????///?
????????///?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????8390??2020-04-23?16:48??AES文件加密\AESEncrypt\AESEncrypt\AESEncrypt.csproj
?????文件????????478??2020-04-18?19:51??AES文件加密\AESEncrypt\AESEncrypt\AESEncrypt.csproj.user
?????文件???????8433??2020-04-18?10:35??AES文件加密\AESEncrypt\AESEncrypt\AES_EnorDecrypt.cs
?????文件????????187??2020-04-16?11:27??AES文件加密\AESEncrypt\AESEncrypt\App.config
?????文件?????835584??2020-04-22?11:07??AES文件加密\AESEncrypt\AESEncrypt\bin\Debug\AESEncrypt.exe
?????文件????????187??2020-04-16?11:27??AES文件加密\AESEncrypt\AESEncrypt\bin\Debug\AESEncrypt.exe.config
?????文件?????294400??2020-04-22?11:07??AES文件加密\AESEncrypt\AESEncrypt\bin\Debug\AESEncrypt.pdb
?????文件??????24224??2020-04-22?11:07??AES文件加密\AESEncrypt\AESEncrypt\bin\Debug\AESEncrypt.vshost.exe
?????文件????????187??2020-04-16?11:27??AES文件加密\AESEncrypt\AESEncrypt\bin\Debug\AESEncrypt.vshost.exe.config
?????文件????????490??2010-03-17?22:39??AES文件加密\AESEncrypt\AESEncrypt\bin\Debug\AESEncrypt.vshost.exe.manifest
?????文件?????689664??2020-04-23?16:48??AES文件加密\AESEncrypt\AESEncrypt\bin\Release\AESEncrypt.exe
?????文件????????187??2020-04-16?11:27??AES文件加密\AESEncrypt\AESEncrypt\bin\Release\AESEncrypt.exe.config
?????文件?????194048??2020-04-23?16:48??AES文件加密\AESEncrypt\AESEncrypt\bin\Release\AESEncrypt.pdb
?????文件??????24224??2020-04-23?16:51??AES文件加密\AESEncrypt\AESEncrypt\bin\Release\AESEncrypt.vshost.exe
?????文件????????187??2020-04-16?11:27??AES文件加密\AESEncrypt\AESEncrypt\bin\Release\AESEncrypt.vshost.exe.config
?????文件????????490??2010-03-17?22:39??AES文件加密\AESEncrypt\AESEncrypt\bin\Release\AESEncrypt.vshost.exe.manifest
?????文件??????12876??2020-04-23?16:46??AES文件加密\AESEncrypt\AESEncrypt\Form1.cs
?????文件??????16496??2020-04-22?10:48??AES文件加密\AESEncrypt\AESEncrypt\Form1.Designer.cs
?????文件?????412918??2020-04-22?10:48??AES文件加密\AESEncrypt\AESEncrypt\Form1.resx
?????文件???????7477??2020-04-22?11:07??AES文件加密\AESEncrypt\AESEncrypt\obj\Debug\AESEncrypt.csproj.FileListAbsolute.txt
?????文件???????2226??2020-04-22?11:07??AES文件加密\AESEncrypt\AESEncrypt\obj\Debug\AESEncrypt.csproj.GenerateResource.Cache
?????文件???????2211??2020-04-16?11:30??AES文件加密\AESEncrypt\AESEncrypt\obj\Debug\AESEncrypt.csprojResolveAssemblyReference.cache
?????文件?????835584??2020-04-22?11:07??AES文件加密\AESEncrypt\AESEncrypt\obj\Debug\AESEncrypt.exe
?????文件?????270964??2020-04-22?11:07??AES文件加密\AESEncrypt\AESEncrypt\obj\Debug\AESEncrypt.Form1.resources
?????文件?????294400??2020-04-22?11:07??AES文件加密\AESEncrypt\AESEncrypt\obj\Debug\AESEncrypt.pdb
?????文件?????151404??2020-04-22?11:07??AES文件加密\AESEncrypt\AESEncrypt\obj\Debug\AESEncrypt.Properties.Resources.resources
?????文件????????180??2020-04-22?11:07??AES文件加密\AESEncrypt\AESEncrypt\obj\Debug\AESEncrypt.外部引用.BtnExt.resources
?????文件????????180??2020-04-22?11:07??AES文件加密\AESEncrypt\AESEncrypt\obj\Debug\AESEncrypt.外部引用.CheckBox.resources
?????文件????????180??2020-04-22?11:07??AES文件加密\AESEncrypt\AESEncrypt\obj\Debug\AESEncrypt.外部引用.Frmba
?????文件????????180??2020-04-22?11:07??AES文件加密\AESEncrypt\AESEncrypt\obj\Debug\AESEncrypt.外部引用.FrmDialog.resources
............此處省略103個文件信息
- 上一篇:C#進銷存系統.zip
- 下一篇:基于ASP.NET的在線考試系統
評論
共有 條評論