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

时间:2014-05-09 21:03:06   收藏:0   阅读:323


///////////////////////////////////////////////////////////// 
//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

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!