欢迎光临
我们一直在努力

利用DotNET密码系统之一的DES对称加密算法保证数据安全-.NET教程,安全和优化

建站超值云服务器,限时71元/月

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

/////////////////////////////////////////////////////////////

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

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

}

}

}

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 利用DotNET密码系统之一的DES对称加密算法保证数据安全-.NET教程,安全和优化
分享到: 更多 (0)