C#DES算法解密实现之前我们先看看DES工作的基本原理是,其入口参数有三个:key、data、mode。 key为加密解密使用的密钥,data为加密解密的数据,mode为其工作模式。当模式为加密模式时,明文按照64位进行分组,形成明文组,key用于对数据加密,当模式为解密模式时,key用于对数据解密。实际运用中,密钥只用到了64位中的56位,这样才具有高的安全性。
C# DES算法特点:分组比较短、密钥太短、密码生命周期短、运算速度较慢。DES工作的基本原理:其入口参数有三个:key、data、mode。key为加密解密使用的密钥;data为加密解密的数据;mode为其工作模式。
C#DES解密实现函数:
- /// <summary>
- /// 进行C#DES算法解密。
- /// </summary>
- /// <param name="pToDecrypt">要解密的以Base64</param>
- /// <returns>已解密的字符串。</returns>
- public string Decrypt(string pToDecrypt,string sKey)
- {
- byte[] inputByteArray = Convert.FromBase64String(pToDecrypt);
- using(DESCryptoServiceProvider des =
- new DESCryptoServiceProvider())
- {
- des.Key=ASCIIEncoding.ASCII.GetBytes(sKey);
- des.IV=ASCIIEncoding.ASCII.GetBytes(sKey);
- System.IO.MemoryStream ms = new System.IO.MemoryStream();
- using(CryptoStream cs = new CryptoStream(
- ms,des.CreateDecryptor(),CryptoStreamMode.Write))
- {
- cs.Write(inputByteArray,0,inputByteArray.Length);
- cs.FlushFinalBlock();
- cs.Close();
- }
- string str = Encoding.UTF8.GetString(ms.ToArray());
- ms.Close();
- return str;
- }
- }
C#DES解密函数调用:
- string str = Page.Request.QueryString["str"];
- Page.Response.Write("得到的为:"+Decrypt(str,"abcdefgh"));
C# DES算法解密的基本情况就向你介绍到这里,希望对你了解和学习C# DES算法解密有所帮助。
【编辑推荐】