C#中DES加密用法的使用方法

C#中DES加密用法的使用方法,第1张

C#中DES加密用法的使用方法,第2张

在C#中直接引用加密类库比在C中更方便快捷
des _ demo . cs的代码如下:
使用System
使用系统。安全。密码术;
使用系统。木卫一;
使用系统。文本;
public class EncryptStringDES {
public static void Main(String[]args){
if(args。长度< 1) {
控制台。WriteLine("用法:des_demo ",args[0]);
退货;
}
/用UTF8函数加密输入参数
ut F8 encoding ut F8 encoding = new ut F8 encoding();
byte[]inputByteArray = utf8 encoding。GetBytes(args[0])。ToCharArray());
//方法一:调用默认的DES实现方法des _ csp。
des des = des . create();
//模式二:直接使用DES_CSP()实现DES
/DES _ CSP DES = new DES _ CSP()的实体;
//初始化DES加密密钥和一个随机的8位初始化向量(IV)
byte [] key = {0x01,0x23,0x45,0x67,0x89,0xab,0xcd,0x ef };
Byte[] IV = {0x12,0x34,0x56,0x78,0x90,0xab,0xcd,0x ef };
des。Key = key
des。IV = IV
//建立加密流
symmetricstreamenencryptor SSE = des . createencryptor();
//使用cryptomorystream方法获取加密进程的输出
cryptomorystream CMS = newcryptomorystream();
//将SymmetricStreamEncryptor流中的加密数据输出到cryptomorystream
SSE。SetSink(CMS);
//加密后,将结果输出到控制台
sse。write(inputByteArray);
sse。close stream();
//获取加密数据
byte[]encrypted data = CMS . data;
//输出加密结果
控制台。WriteLine("加密结果:");
for(int I = 0;i < encryptedData。长度;i++) {
控制台。write(“{ 0:X2 }”,encrypted data[I]);
}
控制台。WriteLine();
//上面演示如何加密,下面演示如何解密
symmetricstreamdencryptor SSD = des . create decryptor();
CMS = new cryptomorystream();
固态硬盘。SetSink(CMS);
固态硬盘。write(encrypted data);
固态硬盘。close stream();
byte[] decryptedData = cms。数据;
char[]decrypted chararray = utf8 encoding。GetChars(decrypted data);
控制台。WriteLine("解密数据:");
控制台。write(decryptedCharArray);
控制台。WriteLine();
}
}
编译:
D:\ cs harp > CSC des _ demo . cs
微软(R) C#编译器7.00.8905版[NGWS运行时2000.14.1812.10]
版权所有(C)微软公司2000年。保留所有权利。
运行实例:
D:\ Csharp>DES_demo.exe使用C#编写DES加密程序的框架
。加密结果:
3d 22 64c 657 D1 C4 C3 cf 77 ce 2d 0 e 1 78 2 a4 ed 7 aa 8 83 f 90 e 14 E1 ba 38
7B 06 41 8D B5 E9 3F 00 0D C3 28 D1 F9 6D 17 4B 6E A7 41 68 40

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » C#中DES加密用法的使用方法

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情