知识大全 使用DES对称加密代码,支持中文

Posted

篇首语:闲散如酸醋,会软化精神的钙质;勤奋像火炬,能燃起智慧的火焰。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 使用DES对称加密代码,支持中文相关的知识,希望对你有一定的参考价值。

使用DES对称加密代码,支持中文  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

//名称空间 using System; using System Security Cryptography; using System IO; using System Text; //方法 //加密方法 public string Encrypt(string pToEncrypt string sKey) DESCryptoServiceProvider des = new DESCryptoServiceProvider(); //把字符串放到byte数组中 //原来使用的UTF 编码 我改成Unicode编码了 不行 byte[] inputByteArray = Encoding Default GetBytes(pToEncrypt); //byte[] inputByteArray=Encoding Unicode GetBytes(pToEncrypt); //建立加密对象的密钥和偏移量 //原文使用ASCIIEncoding ASCII方法的GetBytes方法 //使得输入密码必须输入英文文本 des Key = ASCIIEncoding ASCII GetBytes(sKey); des IV = ASCIIEncoding ASCII GetBytes(sKey); MemoryStream ms = new MemoryStream(); CryptoStream cs = new CryptoStream(ms des CreateEncryptor() CryptoStreamMode Write); //Write the byte array into the crypto stream //(It will end up in the memory stream) cs Write(inputByteArray inputByteArray Length); cs FlushFinalBlock(); //Get the data back from the memory stream and into a string StringBuilder ret = new StringBuilder(); foreach(byte b in ms ToArray()) //Format as hex ret AppendFormat( :X b); ret ToString(); return ret ToString(); //解密方法 public string Decrypt(string pToDecrypt string sKey) DESCryptoServiceProvider des = new DESCryptoServiceProvider(); //Put the input string into the byte array byte[] inputByteArray = new byte[pToDecrypt Length / ]; for(int x = ; x < pToDecrypt Length / ; x++) int i = (Convert ToInt (pToDecrypt Substring(x * ) )); inputByteArray[x] = (byte)i; //建立加密对象的密钥和偏移量 此值重要 不能修改 des Key = ASCIIEncoding ASCII GetBytes(sKey); des IV = ASCIIEncoding ASCII GetBytes(sKey); MemoryStream ms = new MemoryStream(); CryptoStream cs = new CryptoStream(ms des CreateDecryptor() CryptoStreamMode Write); //Flush the data through the crypto stream into the memory stream cs Write(inputByteArray inputByteArray Length); cs FlushFinalBlock(); //Get the decrypted data back from the memory stream //建立StringBuild对象 CreateDecrypt使用的是流对象 必须把解密后的文本变成流对象 StringBuilder ret = new StringBuilder(); return System Text Encoding Default GetString(ms ToArray()); // 代码完毕 注意 sKey输入密码的时候 必须使用英文字符 区分大小写 且字符数量是 个 不能多也不能少 否则出错 本人使用Windows Framework SP 下在下使用成功 加密解密正常! cha138/Article/program/net/201311/13609

相关参考

知识大全 利用DES加密算法保护Java源代码

利用DES加密算法保护Java源代码  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Java语言

知识大全 PHP使用DES进行加密与解密的方法

PHP使用DES进行加密与解密的方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  代码如下: 

知识大全 java非对称加密的源代码(RSA)

java非对称加密的源代码(RSA)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  鉴于rsa加

知识大全 3DES加密解密调用示例

3DES加密解密调用示例  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在java中调用sun公

知识大全 用C#实现Des加密和解密

小技巧:用C#实现Des加密和解密  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  usingSy

知识大全 Java中3DES加密解密示例

Java中3DES加密解密示例  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在java中调用s

知识大全 使用C#编写DES加密程序的framework

使用C#编写DES加密程序的framework  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  还

知识大全 一个可逆的DES和TripleDES方式加密类

一个可逆的DES和TripleDES方式加密类  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!usi

知识大全 JAVA DES加密解密实现

JAVADES加密解密实现  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  packagetxlt

知识大全 Java中3DES加密解密调用示例

Java中3DES加密解密调用示例  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在java中调