`
weizhai12
  • 浏览: 145005 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

DES加密/解密类

 
阅读更多
/// <summary>
/// DES加密/解密类。
/// </summary>
public class DESEncrypt
{
public DESEncrypt()
{
}

#region ========加密========

/// <summary>
/// 加密
/// </summary>
/// <param name="Text"></param>
/// <returns></returns>
public static string Encrypt(string Text)
{
return Encrypt(Text,"kevin");
}
/// <summary>
/// 加密数据
/// </summary>
/// <param name="Text"></param>
/// <param name="sKey"></param>
/// <returns></returns>
public static string Encrypt(string Text,string sKey)
{
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
byte[] inputByteArray;
inputByteArray=Encoding.Default.GetBytes(Text);
des.Key = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8));
des.IV = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8));
System.IO.MemoryStream ms=new System.IO.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();
}

#endregion

#region ========解密========


/// <summary>
/// 解密
/// </summary>
/// <param name="Text"></param>
/// <returns></returns>
public static string Decrypt(string Text)
{
return Decrypt(Text,"kevin");
}
/// <summary>
/// 解密数据
/// </summary>
/// <param name="Text"></param>
/// <param name="sKey"></param>
/// <returns></returns>
public static string Decrypt(string Text,string sKey)
{
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
int len;
len=Text.Length/2;
byte[] inputByteArray = new byte[len];
int x,i;
for(x=0;x<len;x++)
{
i = Convert.ToInt32(Text.Substring(x * 2, 2), 16);
inputByteArray[x]=(byte)i;
}
des.Key = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8));
des.IV = ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(sKey, "md5").Substring(0, 8));
System.IO.MemoryStream ms=new System.IO.MemoryStream();
CryptoStream cs=new CryptoStream(ms,des.CreateDecryptor(),CryptoStreamMode.Write);
cs.Write(inputByteArray,0,inputByteArray.Length);
cs.FlushFinalBlock();
return Encoding.Default.GetString(ms.ToArray());
}

#endregion


}
分享到:
评论

相关推荐

    DES加密/解密

    使用java技术编写的Des加密/解密,的工具类,已亲测可完全正确使用,无bug

    PHP 3des加密/解密类

    PHP 3DES加密/解密类,兼容支付宝、微信等。

    C# DES加密/解密类成熟的加密解密类,适合项目开发,可以对于明文进行

    DES加密/解密类成熟的加密解密类,适合项目开发,可以对于明文进行加密

    Java DES 加密/解密

    Java版标准3DES加密/解密方法,加密函数desedeEncoder(String paramString1, String key) 解密函数desedeDecoder(String dest, String key)

    DES加密/解密 小工具

    des 加密解密工具 1、将要 加密/解密 的密码 2、公钥 3、加密button 解密 botton 4、 加密或解密出来的结果

    DES加密/解密 BCB XE2 可直接加入程序使用

    DES加密/解密 BCB XE2平台编译测试通过 可直接加入程序使用 内含 字符串转化为二进制数、二进制数据转化为字符串 代码

    DES加密解密 java + js

    DES加密/解密 java js 亲测,返回结果一样。 加密三次, 3des 加密后得到的内容是原来的四倍左右

    C#加密解密DeEncryptHelper.zip

    DES加密/解密类。 加密 加密数据 解密 解密数据 得到随机安全码(哈希加密)。 得到随机哈希加密字符串 哈希加密一个字符串 RSA加密解密及RSA签名和验证 RSA 的密钥产生 产生私钥 和公钥 RSA 方式加密 RSA的解密...

    VB6 DES 加密/解密算法 插件

    des算法是从网上找的,里面有作者名称。 这里只说明PHP用法,ASP等其他用法雷同,不再复述。 $str="加密前字符串"; $mi=new COM("encryp.act"); $co=$mi-&gt;encode($str); echo($co);//输出加密后的字符串。 $co=$mi-...

    java 3des加密、解密工具类

    java 3des加密、解密工具类 java的3DES加密/解密

    DES/3DES加密解密工具

    对数据进行单DES或者3DES加密或者解密,如果密码长度为8字节则为DES加密或者解密

    3DES加密解密工具类

    3DES加密解密的全工具类,快速帮助新人进行3Des加密解密

    java-des加密解密程序

    java-des加密解密程序,基于java编写的des,3des加密程序,包括MAC校验,MD5校验等

    delphi与java 加密解密 DES/CBC/PKCS5Padding

    最近做一个接口,与JAVA的关于DES/CBC/PKCS5Padding 互相解密。在网上找了很多资料,摸索了3天才摸索出来。同样的明文,用JAVA加密的密文死活都跟用DELPHI加密的不相等,有时候少于8个字符的就正常,多了8个字符的就...

    对称密码技术的实现

    (1)熟悉相应的DES加密/解密函数的使用,在单机完成对特定文件(test-1.txt)的单重DES加密/解密; (2)针对DES密钥特点(8字节,64比特位,其中真正起作用的为56比特位),设计一次一密的密钥产生机制(即每次...

    3DES加密解密工具

    对数据进行3DES加密或者解密,如果密码长度为8字节则为DES加密或者解密

    一个java编写的DES加密算法

    java编写的一个关于des的加密算法 ...请输入您要加密的字符串:des加密算法 请输入您自己想要的密钥:des 加密前的字符:des加密算法 您输入的密钥:des 加密后的字符:decba59b42607d5e0da53909a2a359d4

    关于Java中常用加密/解密方法的实现

    一、常用的加密/解密算法 1.Base64  严格来说Base64并不是一种加密/解密算法,而是一种编码方式。Base64不生成密钥,通过Base64编码后的密文就可以直接“翻译”为明文,但是可以通过向明文中添加混淆字符来达到...

    vue DES加密解密工具类 des.js

    vue DES加密解密工具类 des.js,与博文中的匹配,为封装好的完整工具类

    des加密解密_Des加密解密_DES加密_

    一个调用动态链接库的des加密解密例子。

Global site tag (gtag.js) - Google Analytics