其实方法微软早就为我们封装好了。我们直接引用类库,拿过来用就ok了。。废话不多说,直接上代码。。
/*用法
protected void Page_Load(object sender, EventArgs e)
{
//加密
this.Title = CEncrypt.DesEncrypt("pwd", CEncrypt.Key);
this.Title += CEncrypt.DesDecrypt(this.Title, CEncrypt.Key);
Response.Write(CEncrypt.DesDecrypt("gAYyhdLQunc=", CEncrypt.Key));
}
*/
using System;
using System.IO;
using System.Text;
using System.Security.Cryptography;
using System.Web;
namespace YD.Common
{
/// <summary>
/// 加密码类
/// </summary>
public class CEncrypt
{
/// <summary>
/// 加密
/// </summary>
/// <param name="inputString"></param>
/// <returns></returns>
public static string DesEncrypt(string inputString)
{
return DesEncrypt(inputString, Key);
}
/// <summary>
/// 解密
/// </summary>
/// <param name="inputString"></param>
/// <returns></returns>
public static string DesDecrypt(string inputString)
{
return DesDecrypt(inputString, Key);
}
/// <summary>
/// 密匙
/// </summary>
private static string Key
{
get
{
return "hongye10";
}
}
/// <summary>
/// 加密字符串
/// 注意:密钥必须为8位
/// </summary>
/// <param name="strText">字符串</param>
/// <param name="encryptKey">密钥</param>
/// <param name="encryptKey">返回加密后的字符串</param>
public static string DesEncrypt(string inputString, string encryptKey)
{
byte[] byKey = null;
byte[] IV = { 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF };
try
{
byKey = System.Text.Encoding.UTF8.GetBytes(encryptKey.Substring(0,
);
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
byte[] inputByteArray = Encoding.UTF8.GetBytes(inputString);
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(byKey, IV), CryptoStreamMode.Write);
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
return Convert.ToBase64String(ms.ToArray());
}
catch (System.Exception error)
{
//return error.Message;
return null;
}
}
/// <summary>
/// 解密字符串
/// </summary>
/// <param name="this.inputString">加了密的字符串</param>
/// <param name="decryptKey">密钥</param>
/// <param name="decryptKey">返回解密后的字符串</param>
public static string DesDecrypt(string inputString, string decryptKey)
{
byte[] byKey = null;
byte[] IV = { 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF };
byte[] inputByteArray = new Byte[inputString.Length];
try
{
byKey = System.Text.Encoding.UTF8.GetBytes(decryptKey.Substring(0,
);
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
inputByteArray = Convert.FromBase64String(inputString);
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(byKey, IV), CryptoStreamMode.Write);
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
System.Text.Encoding encoding = new System.Text.UTF8Encoding();
return encoding.GetString(ms.ToArray());
}
catch (System.Exception error)
{
//return error.Message;
return null;
}
}
}
}
分享到:
相关推荐
【ASP.NET编程知识】.net core使用MD5加密解密字符串.docx
asp.net加密解密实例,内含一个加密解密类,只需要调用就可以了,非常清晰,供大家学习
asp.net使用MD5加密解密示例 下载看便知!
MD5加密,简单方便易用,我使用的是vs2010,所以,如果你使用的是vs2005 或vs2008,请新建一个空网站,将下载的文件解压后,(除confuger文件外)复制到你的空网站中就可使用!QQ:147249735,如有问题,可以Q我,...
ASP.NET的MD5和DES加密和解密算法 非常好的资源 欢迎大家参考
C#,ASP.NET 经过打包的MD5、AES加密解密的可安装小软件,带源码。 也可教你怎么打包的。非常实用的加密小软件。 传上和广大朋友们共同分享一下。
asp.net常用函数表 Md5加密 asp.net 网站打包
下面主要介绍的是ASP.NET中的加密和解密。 一、数据加密/编码算法列表 常见用于保证安全的加密或编码算法如下: 1、常用密钥算法 密钥算法用来对敏感数据、摘要、签名等信息进行加密,常用的密钥算法包括: DES...
ASP.NET源码——SHAI、MD5加密、解密、HTML字符串转换实例.zip
本文章里面全部是MD5的源代码,读者可以深入研究里面的源代码,对加密解密有更深的了解。
本文实例讲述了asp.net实现的MD5加密和DES加解密算法类。分享给大家供大家参考,具体如下: #region MD5算法 public string md5(string str, int code) { if (code == 32) //32位加密 { return System.Web.Security...
主要介绍了ASP.NET中DES加密与解密MD5加密帮助类的实例代码,非常不错,具有参考借鉴价值,需要的朋友可以参考下
加密解密 SQL常用DBHelper Asp.net存储过程无限分类 TreeView无限分类 无限分类MVC 荧光棒效果 获取控件上全选 回车转换成Tab DataGrid超级连接列 DataGrid行随鼠标变色 数字格式化 ...
md5加密和解密源码asp.net c#版本
asp.net c# 加密,解密,大家可以学习交流
加密解密 SQL常用DBHelper Asp.net存储过程无限分类 TreeView无限分类 无限分类MVC 荧光棒效果获取控件上全选 回车转换成Tab DataGrid超级连接列 DataGrid行随鼠标变色 数字格式化 日期格式化...
注册的时候要求密码是要加密的,所以也用到了加密技术MD5。 项目也用到了一些JeasyUI这个控件。所以控件要在官网下载,下载地址是:http://jeasyui.com/download/index.php 下载完成后,把项目放进我们的项目中我们...
VS2010開發平臺,爲了密碼的安全性,需要對密碼進行加密處理,MD5是加密中常見的一種,但它屬於單項加密,不可解密。DES則屬於雙向加密,可解密。