腾讯微群加入QQ群

 找回密码
 加入我们

!connect_header_login!

!connect_header_login_tip!

搜索
查看: 674|回复: 0

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

[复制链接]
发表于 2016-8-4 13:29:41 | 显示全部楼层 |阅读模式


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

0
0

转自:http://blog.csdn.net/u014739757/article/details/25392457
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

QQ|手机版|Archiver|小黑屋|一起疯|苦咖啡 ( 新ICP备12000197号  

GMT+8, 2018-4-21 17:39 , Processed in 0.096584 second(s), 13 queries , Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表