//加密方法
private string encrypt(string strToEncrypt)
{
if (strToEncrypt == null || strToEncrypt == "") return strToEncrypt;
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
//把字符串放到byte数组中,主意编码方式
byte[] inputByteArray = Encoding.Default.GetBytes(strToEncrypt);
//建立加密对象的密钥和偏移量
des.Key = new byte[] { 1, 3, 5, 7, 2, 4, 6, 8 };
des.Mode = CipherMode.ECB;
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write);
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
StringBuilder ret = new StringBuilder();
foreach (byte b in ms.ToArray())
{
ret.AppendFormat("{0:X2}", b);
}
return ret.ToString();
}
//解密方法
private string Decrypt(string pToDecrypt)
{
if (pToDecrypt == null || pToDecrypt == "") return pToDecrypt;
try
{
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
//Put the input string into the byte array
byte[] inputByteArray = new byte[pToDecrypt.Length / 2];
for (int x = 0; x < pToDecrypt.Length / 2; x++)
{
int i = (Convert.ToInt32(pToDecrypt.Substring(x * 2, 2), 16));
inputByteArray[x] = (byte)i;
}
//key
des.Key = new byte[] { 1, 3, 5, 7, 2, 4, 6, 8 }; ;
//des.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
des.Mode = CipherMode.ECB;
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write);
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
//建立StringBuild对象,CreateDecrypt使用的是流对象,必须把解密后的文本变成流对象
StringBuilder ret = new StringBuilder();
return System.Text.Encoding.Default.GetString(ms.ToArray());
}
catch (Exception Exp)
{
return String.Empty;
}
}
分享到:
相关推荐
DES,DES加密算法,DES算法源码。用C写的DES加密算法。 DES,DES加密算法,DES算法源码。 DES加密算法(c语言实现) (本程序可以直接使用)
一个调用动态链接库的des加密解密例子。
对数据进行3DES加密或者解密,如果密码长度为8字节则为DES加密或者解密
DES加密算法实现的C++类DES加密算法实现的C++类
主要介绍了使用java自带des加密算法实现文件加密和字符串加密的示例,需要的朋友可以参考下
DES加密 解密 方法: DESr DESw 支持3DES加密 解密 类中利用函数重载的方式 实现两种加密方式 加密后为16进制字符串 使用方法: 实例化一个对象 然后就可以随便用了。 如 DES加密 解密 CString sd,sd2; yxyDES2 ...
它相当于是对每个数据块应用三次DES加密算法。 最早的定义了该算法的标准(ANS X9.52,1998年发布)将其描述为“三重数据加密算法(TDEA)”— 即为ANSI X3.92中定义的数据加密算法(DEA)的三次重复操作— 而完全...
VB实现DES加密解密算法已测试通过如有更新另行发布
DES加密解密程序的C源码.喜欢就下~~~
易语言文本DES加密源码。@资源源码站。
STM32上实现D3DES加密
在 AES 出现之前,最常用的对称密钥算法是 DES 加密算法,它在 1977 年被公布成为美国政府的商用加密标准。DES 的主要问题是密钥长度较短,渐渐不适合于分布式开放网络对数据加密安全性的要求。因此,1998年美国...
des加密解密工具
采用c#, 在sql server 中调用des 加密, 解密字符串. 可自定义key
用于 Arduino 微控制器平台的 DES 和 Triples DES 加密和解密库 Arduino IDE 要安装库,下载文件并将其复制到 Arduino 开发环境的“libraries”文件夹中的子文件夹(例如“DES”)中。 该库在 Arduino Leonardo 上...
DES加密解密过程,C++实现
DES加密算法C++实现支持多个key输入、支持ECB、CBC填充模式 3、不是.exe程序,是代码段;
有关3DES加密算法的web端js示例,有详细的加解密方法,简单明了
DES加密解密算法的C语言实现,只要调用函数,即可实现数据的加密解密,我已经在DSP上实现。
3DES加密解密的全工具类,快速帮助新人进行3Des加密解密