資源簡介
開發環境VS2013;編程語言C#;用des對稱加解密方法對任意文本文件進行加解密操作。可通過選擇讀入文本文件的方式,對文件進行操作。程序已編譯運行通過,可放心使用。

代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.Linq;
using?System.Text;
using?System.Security.Cryptography;
using?System.IO;
namespace?FileLock
{
????///?
????///?異常處理類
????///?
????public?class?CryptoHelpException?:?ApplicationException
????{
????????public?CryptoHelpException(string?msg)?:?base(msg)?{?}
????}
????///?
????///?CryptHelp
????///?
????public?class?DESFileClass
????{
????????private?const?ulong?FC_TAG?=?0xFC010203040506CF;
????????private?const?int?BUFFER_SIZE?=?128?*?1024;
????????///?
????????///?檢驗兩個Byte數組是否相同
????????///?
????????///?Byte數組
????????///?Byte數組
????????///?true-相等
????????private?static?bool?CheckByteArrays(byte[]?b1?byte[]?b2)
????????{
????????????if?(b1.Length?==?b2.Length)
????????????{
????????????????for?(int?i?=?0;?i?????????????????{
????????????????????if?(b1[i]?!=?b2[i])
????????????????????????return?false;
????????????????}
????????????????return?true;
????????????}
????????????return?false;
????????}
????????///?
????????///?
????????///?
????????///?密碼
????????///?
????????///?加密對象
????????private?static?SymmetricAlgorithm?CreateRijndael(string?password?byte[]?salt)
????????{
????????????PasswordDeriveBytes?pdb?=?new?PasswordDeriveBytes(password?salt?“SHA256“?1000);
????????????SymmetricAlgorithm?sma?=?Rijndael.Create();
????????????sma.KeySize?=?256;
????????????sma.Key?=?pdb.GetBytes(32);
????????????sma.Padding?=?PaddingMode.PKCS7;
????????????return?sma;
????????}
????????///?
????????///?加密文件隨機數生成
????????///?
????????private?static?RandomNumberGenerator?rand?=?new?RNGCryptoServiceProvider();
????????///?
????????///?生成指定長度的隨機Byte數組
????????///?
????????///?Byte數組長度
????????///?隨機Byte數組
????????private?static?byte[]?GenerateRandomBytes(int?count)
????????{
????????????byte[]?bytes?=?new?byte[count];
????????????rand.GetBytes(bytes);
????????????return?bytes;
????????}
????????///?
????????///?加密文件
????????///?
????????///?待加密文件
????????///?加密后輸入文件
????????///?加密密碼
????????public?static?void?EncryptFile(string?inFile?string?outFile?string?password)
????????{
????????????using?(FileStream?fin?=?File.OpenRead(inFile)
????????????????fout?=?File.OpenWrite(outFile))
????????????{
????????????????long?lSize?=?fin.Length;?//?輸入文件長度
????????????????int?size?=?(int)lSize;
????????????????byte[]?bytes?=?new?byte[BUFFER_SIZE];?//?緩存
????????????????int?read?=?-1;?//?輸入文件讀取數量
????????????????int?value?=?0;
????????????????//?獲取IV和salt
????????????????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1366??2016-03-03?19:26??FileLock\FileLock\Properties\AssemblyInfo.cs
?????文件???????5612??2016-03-03?19:26??FileLock\FileLock\Properties\Resources.resx
?????文件???????2864??2016-03-03?19:26??FileLock\FileLock\Properties\Resources.Designer.cs
?????文件????????249??2016-03-03?19:26??FileLock\FileLock\Properties\Settings.settings
?????文件???????1091??2016-03-03?19:26??FileLock\FileLock\Properties\Settings.Designer.cs
?????文件???????1713??2016-03-03?20:06??FileLock\FileLock\Form1.cs
?????文件???????5891??2016-03-03?20:06??FileLock\FileLock\Form1.Designer.cs
?????文件????????489??2016-03-03?19:26??FileLock\FileLock\Program.cs
?????文件???????3718??2016-03-03?20:06??FileLock\FileLock\FileLock.csproj
?????文件??????11600??2016-03-03?20:47??FileLock\FileLock\bin\Debug\FileLock.vshost.exe
?????文件??????12800??2016-03-03?20:10??FileLock\FileLock\bin\Debug\FileLock.exe
?????文件??????32256??2016-03-03?20:10??FileLock\FileLock\bin\Debug\FileLock.pdb
?????文件???????6338??2016-03-03?20:10??FileLock\FileLock\obj\x86\Debug\DesignTimeResolveAssemblyReferencesInput.cache
?????文件???????2164??2016-03-03?19:26??FileLock\FileLock\obj\x86\Debug\DesignTimeResolveAssemblyReferences.cache
?????文件????????180??2016-03-03?20:06??FileLock\FileLock\obj\x86\Debug\FileLock.Properties.Resources.resources
?????文件????????244??2016-03-03?20:06??FileLock\FileLock\obj\x86\Debug\GenerateResource.read.1.tlog
?????文件????????778??2016-03-03?20:06??FileLock\FileLock\obj\x86\Debug\GenerateResource.write.1.tlog
?????文件??????32256??2016-03-03?20:10??FileLock\FileLock\obj\x86\Debug\FileLock.pdb
?????文件??????12800??2016-03-03?20:10??FileLock\FileLock\obj\x86\Debug\FileLock.exe
?????文件????????820??2016-03-03?20:47??FileLock\FileLock\obj\x86\Debug\FileLock.csproj.FileListAbsolute.txt
?????文件????????180??2016-03-03?20:06??FileLock\FileLock\obj\x86\Debug\FileLock.Form1.resources
?????文件???????6020??2016-03-03?20:06??FileLock\FileLock\Form1.resx
?????文件???????8144??2016-03-03?20:10??FileLock\FileLock\DESFileClass.cs
?????文件????????866??2016-03-03?19:26??FileLock\FileLock.sln
????..A..H.?????20480??2016-03-03?20:59??FileLock\FileLock.suo
?????文件??????????8??2016-03-03?20:37??FileLock\text.txt
?????目錄??????????0??2016-03-03?19:26??FileLock\FileLock\obj\x86\Debug\TempPE
?????目錄??????????0??2016-03-03?19:26??FileLock\FileLock\obj\x86\Debug
?????目錄??????????0??2016-03-03?19:26??FileLock\FileLock\bin\Debug
?????目錄??????????0??2016-03-03?19:49??FileLock\FileLock\bin\Release
............此處省略9個文件信息
- 上一篇:C# 獲取網頁源碼并保存到txt
- 下一篇:C#開發模擬回合制游戲源碼
評論
共有 條評論