首页 > 其他 > 详细

字符串的加解密,DES标准,DESCryptoServiceProvider

时间:2014-04-11 18:37:06      阅读:568      评论:0      收藏:0      [点我收藏+]
//字符串加解密
//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();
    }bubuko.com,布布扣
}

字符串的加解密,DES标准,DESCryptoServiceProvider,布布扣,bubuko.com

字符串的加解密,DES标准,DESCryptoServiceProvider

原文:http://blog.csdn.net/shinepan/article/details/23359777

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!