//字符串加解密
//GetBytes:将指定字符串中的所有字符编码为一个字节的序列
//CreateEncryptor:用指定的密匙和初始化向量创建对称数据库加密标准(DES)加密器对象
//CreateDecryptor:用指定的密匙和初始化向量创建对称数据加密标准(DES)解密器对象
using System;
using System.Text;
using System.IO;
using System.Security.Cryptography;
class program
{
static string encryptKey = "Fuck"; //加密密匙
static void Main()
{
Console.WriteLine("Please input sentences");
string strOld = Console.ReadLine();
DESCryptoServiceProvider descsp = new DESCryptoServiceProvider();//实例化加解密对象
byte[] key = Encoding.Unicode.GetBytes(encryptKey); //定义字节数组
byte[] data1=Encoding.Unicode.GetBytes(strOld);
MemoryStream MStream = new MemoryStream(); //实例化内存流实例
CryptoStream CStream=new CryptoStream(MStream,descsp.CreateEncryptor(key,key),CryptoStreamMode.Write); //向解密流中写入数据
CStream.Write(data1, 0, data1.Length); //向加密流中写入数据
CStream.FlushFinalBlock(); //放加密流
string strEncrypt = Convert.ToBase64String(MStream.ToArray()); //加密字符串
Console.WriteLine("加密后的字符:"+strEncrypt); //输出加密后的字符
byte[] data2 = Convert.FromBase64String(strEncrypt); //定义,用来存放待解密的字符串
MStream = new MemoryStream(); //实例化内存流对象
CStream = new CryptoStream(MStream, descsp.CreateDecryptor(key, key), CryptoStreamMode.Write);
CStream.Write(data2, 0, data2.Length); //向解密流中写入数据
CStream.FlushFinalBlock(); //放解密流
string strDecrypt = Encoding.Unicode.GetString(MStream.ToArray());//解密字符串
Console.WriteLine("解密后的字符串:" + strDecrypt); //输出解密后的字符串
MStream.Close(); //关闭内存流
CStream.Close(); // 关闭加解密流
Console.ReadLine();
}
}字符串的加解密,DES标准,DESCryptoServiceProvider,布布扣,bubuko.com
字符串的加解密,DES标准,DESCryptoServiceProvider
原文:http://blog.csdn.net/shinepan/article/details/23359777