加密解密

原创 2007年10月08日 16:08:00

 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();
   
    }
}

收藏助手
不良信息举报
您举报文章:加密解密
举报原因:
原因补充:

(最多只允许输入30个字)