`

ASP.NET加密算法(MD5/DES)

阅读更多

本文讲 ASP.NET的MD5和DES加密和解密算法


#region MD5算法
public string md5(string str, int code)
{
if (code == 16) //16位MD5加密(取32位加密的9~25字符)
{
return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str, "MD5").ToLower().Substring(8, 16);
}
if (code == 32) //32位加密
{
return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str, "MD5").ToLower();
}
return "00000000000000000000000000000000";
}
#endregion

#region DESEncrypt DES加密
// <summary>
/// 进行DES加密。
/// </summary>
/// <param name="pToEncrypt">要加密的字符串。</param>
/// <param name="sKey">密钥,且必须为8位。</param>
/// <returns>以Base64格式返回的加密字符串。</returns>
public string DESEncrypt(string pToEncrypt, string sKey)
{
using (DESCryptoServiceProvider des = new DESCryptoServiceProvider())
{
byte[] inputByteArray = Encoding.UTF8.GetBytes(pToEncrypt);
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.CreateEncryptor(), CryptoStreamMode.Write))
{
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
cs.Close();
}
string str = Convert.ToBase64String(ms.ToArray());
ms.Close();
return str;
}
}
#endregion

#region DESDecrypt DES解密
/// <summary>
/// 进行DES解密。
/// </summary>
/// <param name="pToDecrypt">要解密的以Base64</param>
/// <param name="sKey">密钥,且必须为8位。</param>
/// <returns>已解密的字符串。</returns>
public string DESDecrypt(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;
}
}
#endregion

来源:http://www.cnblogs.com/hakuci

分享到:
评论

相关推荐

    ASP.NET加密算法

    包含3Des,TripledDES,md5等加密字符串

    ASP.NET的MD5和DES加密和解密算法

    ASP.NET的MD5和DES加密和解密算法 非常好的资源 欢迎大家参考

    asp.net实现的MD5加密和DES加解密算法类完整示例

    本文实例讲述了asp.net实现的MD5加密和DES加解密算法类。分享给大家供大家参考,具体如下: #region MD5算法 public string md5(string str, int code) { if (code == 32) //32位加密 { return System.Web.Security...

    asp.net core常见的4种数据加密算法

    而我们常应用在保存用户登录密码这个过程中的MD5本质上并不是加密算法,而是一种信息摘要算法。不过MD5尽量保证了每个字符串最后计算出来的值都不一样,所以在密码保存中常用MD5做为保密值。 1. 常见对称加密算法 ...

    asp.net的加密解密技巧

    下面主要介绍的是ASP.NET中的加密和解密。 一、数据加密/编码算法列表 常见用于保证安全的加密或编码算法如下: 1、常用密钥算法 密钥算法用来对敏感数据、摘要、签名等信息进行加密,常用的密钥算法包括: DES...

    asp.net知识库

    常用编码工具类,支持base64,md5,des,crc32 也谈谈技术面试 在C#里把ArrayList转换为Array 或 把Array转换为ArrayList C# 2.0 在.NET 2.0中,让你的组件也可以绑定 .NET20 一种简单的窗口控件UI状态控制方法 翻译MSDN...

    赫赫大名的A*寻路算法(vb.net版本)

    在网上看到一篇A*寻路算法的译文 http://data.gameres.com/message.asp?TopicID=25439 按此原理写了以下程序另外补充... 您可能感兴趣的文章:.NET MD5加密解密代码解析asp.net实现的MD5加密和DES加解密算法类完整示例as

    网络盒子(netbox)

    NetBox 提供的 SSL、TLS 安全协议、RSA、DES 等加密算法和独立于应用程序的虚拟机技术使您的数据得到最大限度的保护。NetBox 提供将应用部署到无线设备的能力。NetBox 提供将您的应用编译成独立可执行文件的能力,极...

    NetBox v2.8.4128

    NetBox 提供的 SSL、TLS 安全协议、RSA、DES 等加密算法和独立于应用程序的虚拟机技术使您的数据得到最大限度的保护。NetBox 提供将应用部署到无线设备的能力。NetBox 提供将您的应用编译成独立可执行文件的能力,极...

    vc++ 开发实例源码包

    DES加密算法源代码 如题。 Detected memory leaks 检查内存泄漏源码 DigiStatic_src 自绘CStatic实现数字效果。 DirectShow开发指南pdf附属代码 如题。 DirectShow开发指南源码 如题。 directUI_D DirectUI界面...

    JAVA上百实例源码以及开源项目源代码

     Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。  设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang...

    JAVA上百实例源码以及开源项目

     Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。  设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang...

Global site tag (gtag.js) - Google Analytics