本帖最后由 唐乐 于 2022-4-15 18:30 编辑
一、程序运行 创建三个txt文本文档: MyPassword:代加密文件 EncryptedPassword:加密后的文件/待解密文件 DecryptedPassword:解密后的文件
程序运行结果:
二、源代码 - using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace ConsoleApp3des
- {
- class Program
- {
- static void Main(string[] args)
- {
- //待加密文件的路径
- string inFileName1 = @"C:\Users\strawberry\Desktop\学习学习\大三下\密码学\MyPassword.txt";
- //加密后文件的输出路径
- string outFileName1 = @"C:\Users\strawberry\Desktop\学习学习\大三下\密码学\EncryptedPassword.txt";
- //待解密文件的路径
- string inFileName2 = @"C:\Users\strawberry\Desktop\学习学习\大三下\密码学\EncryptedPassword.txt";
- //解密后文件的输出路径
- string outFileName2 = @"C:\Users\strawberry\Desktop\学习学习\大三下\密码学\DecryptedPassword.txt";
- //密钥key
- string key = "lhdsdsbxixixi11160925@";
- //加/解密方法File to File
- TripleDES_ my3des = new TripleDES_(key);
- my3des.Encrypt(inFileName1, outFileName1);
- my3des.Decrypt(inFileName2, outFileName2);
- }
- }
- }
复制代码
三、思路 1、引用类TripleDES_,类中包括三种属性mydes、Key、IV,两种构造函数,获取密钥和获取初始向量的方法,三种加/解密方法:加/解密串(string)、加/解密byte[]数组、加/解密文件; 2、传入待加密文件的路径inFileName1,加密后文件的输出路径outFileName1,待解密文件的路径inFileName2,解密后文件的输出路径outFileName2; 3、传入共同约定的密钥key,创建TripleDES_对象(my3des) - TripleDES_ my3des = new TripleDES_(key);
复制代码4、调用类TripleDES_里的方法Encrypt(string inFileName, string outFileName),对待加密的文件进行加密: - my3des.Encrypt(inFileName1, outFileName1);
复制代码 (1)参数inFileName1表示待加密文件的路径,参数outFileName1表示加密后文件的输出路径 (2)打开待加密的文件,读取文件里的文本内容 (3)对文本内容进行加密,将加密后的内容写入加密后的文件 5、调用类TripleDES_里的方法Decrypt(string inFileName, string outFileName),对待解密的文件进行解密: - my3des.Decrypt(inFileName2, outFileName2);
复制代码 (1)参数inFileName2表示待解密文件的路径,参数outFileName2表示解密后文件的输出路径 (2)打开待解密的文件,读取文件里的文本内容 (3)对文本内容进行解密,将解密后的内容写入加密后的文件
|