首页 > Web开发 > 详细

利用DotNET密码系统之一的DES对称加密算法保证数据安全

时间:2014-05-09 21:02:55      阅读:487      评论:0      收藏:0      [点我收藏+]


///////////////////////////////////////////////////////////// 
//Author: stardicky // 
//E-mail: stardicky@hotmail.com // 
//QQNumber: 9531511 // 
//CompanyName: Ezone International // 
//Class: HBS-0308 // 
//title: 利用DotNET密码系统保证数据安全 // 
///////////////////////////////////////////////////////////// 
//注:利用DotNET密码系统之一的DES对称加密算法保证数据安全 // 
/////////////////////////////////////////////////////////////

using System; 
using System.IO; 
using System.Text; 
using System.Security.Cryptography;

namespace EzoneInternationalSecurityCryptography 

class EzoneSecurityCryptographyDemo 
{

[STAThread] 
public static void Main(string[] args) 

//加密数据(从内存到文件) 
EzoneEncryptorDemo(); 
//解密数据(从文件到内存) 
EzoneDecryptorDemo(); 
}

/// <summary> 
/// 加密 
/// </summary> 
public static void EzoneEncryptorDemo() 

//创建一个文件对象,文件的模式是创建新文件,文件的访问权限是可写! 
FileStream fs=new FileStream("EzoneDemo.txt",FileMode.Create,FileAccess.Write); 
Console.WriteLine("请输入你想要进行加密的字符串:"); 
//输入你想要进行加密的字符串 
string YourInput=Console.ReadLine(); 
//将字符串转换成字节 
byte[] YourInputStorage=System.Text.Encoding.UTF8.GetBytes(YourInput); 
//创建一个DES算法的加密类 
DESCryptoServiceProvider MyServiceProvider=new DESCryptoServiceProvider(); 
//从DES算法的加密类对象的CreateEncryptor方法,创建一个加密转换接口对象 
//第一个参数的含义是:对称算法的机密密钥(长度为64位,也就是8个字节) 
// 可以人工输入,也可以随机生成方法是:MyServiceProvider.GenerateKey(); 
//第二个参数的含义是:对称算法的初始化向量(长度为64位,也就是8个字节) 
// 可以人工输入,也可以随机生成方法是:MyServiceProvider.GenerateIV(); 
ICryptoTransform MyTransform=MyServiceProvider.CreateEncryptor(new byte[]{100,110,120,130,100,110,120,130},new byte[]{100,110,120,130,100,110,120,130}); 
//CryptoStream对象的作用是将数据流连接到加密转换的流 
CryptoStream MyCryptoStream=new CryptoStream(fs,MyTransform,CryptoStreamMode.Write); 
//将字节数组中的数据写入到加密流中 
MyCryptoStream.Write(YourInputStorage,0,YourInputStorage.Length); 
//关闭加密流对象 
MyCryptoStream.Close();

}

/// <summary> 
/// 解密 
/// </summary> 
public static void EzoneDecryptorDemo() 

FileStream fs=new FileStream("EzoneDemo.txt",FileMode.Open,FileAccess.Read); 
DESCryptoServiceProvider MyServiceProvider=new DESCryptoServiceProvider(); 
//从DES算法的加密类对象的CreateEncryptor方法,创建一个解密转换接口对象 
//[对称算法的机密密钥]必须是加密时候的[对称算法的机密密钥] 
//[对称算法的初始化向量]必须是加密时候的[对称算法的初始化向量] 
//如果不一样,则会抛出一个异常。 
ICryptoTransform MyTransform=MyServiceProvider.CreateDecryptor(new byte[]{100,110,120,130,100,110,120,130},new byte[]{100,110,120,130,100,110,120,130}); 
}

利用DotNET密码系统之一的DES对称加密算法保证数据安全,布布扣,bubuko.com

利用DotNET密码系统之一的DES对称加密算法保证数据安全

原文:http://blog.csdn.net/u014739757/article/details/25392457

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