.NET开发

本类阅读TOP10

·NHibernate快速指南(翻译)
·vs.net 2005中文版下载地址收藏
·【小技巧】一个判断session是否过期的小技巧
·VB/ASP 调用 SQL Server 的存储过程
·?dos下编译.net程序找不到csc.exe文件
·通过Web Services上传和下载文件
·学习笔记(补)《.NET框架程序设计(修订版)》--目录
·VB.NET实现DirectDraw9 (2) 动画
·VB.NET实现DirectDraw9 (1) 托管的DDraw
·建站框架规范书之——文件命名

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
利用DotNET密码系统之一的DES对称加密算法保证数据安全

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

(亿众国际-008)[原创]利用DotNET密码系统保证数据安全

/////////////////////////////////////////////////////////////
//Author: stardicky                                        //
//E-mail: [email protected]                            //
//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});
                 CryptoStream MyCryptoStream=new CryptoStream(fs,MyTransform,CryptoStreamMode.Read);
                 byte[] YourInputStorage=new byte[1000];
                 int len=MyCryptoStream.Read(YourInputStorage,0,YourInputStorage.Length);
                 Console.WriteLine("你刚才输入的字符串是:");
                 Console.WriteLine(System.Text.Encoding.UTF8.GetString(YourInputStorage,0,len));
           }

     }
}



相关文章

相关软件