欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

C#的加密与解密

程序员文章站 2022-05-13 08:02:55
using System; using System.IO; using System.Security.Cryptography; using System.Text; class FileEncrypt { public static Byte[] ConvertStringToByteArray(Str... 08-10-08...
using system;
using system.io;
using system.security.cryptography;
using system.text;
class fileencrypt {
public static byte[] convertstringtobytearray(string s)
{
return (new unicodeencoding()).getbytes(s);
}
public static void main()
{
//创建文件流
filestream fs = new filestream("encryptedfile.txt",filemode.create,fileaccess.write);
console.writeline("输入一些要存储在加密文件中的文本::");
string strinput = console.readline();
byte[] bytearrayinput=convertstringtobytearray(strinput);
//具有随机密钥的 des 实例
descryptoserviceprovider des = new descryptoserviceprovider();
//从此实例创建 des 加密器
icryptotransform desencrypt = des.createencryptor();
//创建使用 des 加密转换文件流的加密流
cryptostream cryptostream = new cryptostream(fs,desencrypt,cryptostreammode.write);
//写出 des 加密文件
cryptostream.write(bytearrayinput,0,bytearrayinput.length);
cryptostream.close();
//创建文件流以读回加密文件
filestream fsread = new filestream("encryptedfile.txt",filemode.open,fileaccess.read);
//从此 des 实例创建 des 解密器
icryptotransform desdecrypt = des.createdecryptor();
//创建加密流集合以便对传入的字节进行读取并执行 des 解密转换
cryptostream cryptostreamdecr = new cryptostream(fsread,desdecrypt,cryptostreammode.read);
//输出已解密文件的内容
console.writeline( (new streamreader(cryptostreamdecr, new unicodeencoding())).readtoend() );
console.writeline ();
console.writeline ("按 enter 键继续...");
console.readline();
}
}