说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

ASP.NET如何加密/解密URL网址

HTML文档下载 WORD文档下载 PDF文档下载
为了加密解密URL网址,我写一个CryptorEngine封装类以方便使用

下载源代码

 

为了加密解密URL网址,我写一个CryptorEngine封装类以方便使用,该类用到了System.Security.Cryptography命名空间,具体请看代码?

 

包含加密解密功能的类

 

using System;using System.IO;using System.Xml;using System.Text;using System.Security.Cryptography;using System.Configuration;public class CryptorEngine{//加密数据public static string Encrypt(string toEncrypt, bool useHashing){	byte[] keyArray;	byte[] toEncryptArray = UTF8Encoding.UTF8.GetBytes(toEncrypt);	// 从web.config中读出加密密钥	System.Configuration.AppSettingsReader settingsReader = new AppSettingsReader();	string key = (string)settingsReader.GetValue("SecurityKey", typeof(String));	if (useHashing)	{		MD5CryptoServiceProvider hashmd5 = new MD5CryptoServiceProvider();		keyArray = hashmd5.ComputeHash(UTF8Encoding.UTF8.GetBytes(key));		hashmd5.Clear();	}	else		keyArray = UTF8Encoding.UTF8.GetBytes(key);	TripleDESCryptoServiceProvider tdes = new TripleDESCryptoServiceProvider();	tdes.Key = keyArray;	tdes.Mode = CipherMode.ECB;	tdes.Padding = PaddingMode.PKCS7;	ICryptoTransform cTransform = tdes.CreateEncryptor();	byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);	tdes.Clear();	return Convert.ToBase64String(resultArray, 0, resultArray.Length);}// 解密字符串public static string Decrypt(string cipherString, bool useHashing){	byte[] keyArray;	cipherString = cipherString.Replace(" ", "+");	byte[] toEncryptArray = Convert.FromBase64String(cipherString);	// 取得密钥	System.Configuration.AppSettingsReader settingsReader = new AppSettingsReader();	string key = (string)settingsReader.GetValue("SecurityKey", typeof(String));	if (useHashing)	{		MD5CryptoServiceProvider hashmd5 = new MD5CryptoServiceProvider();		keyArray = hashmd5.ComputeHash(UTF8Encoding.UTF8.GetBytes(key));		hashmd5.Clear();	}	else		keyArray = UTF8Encoding.UTF8.GetBytes(key);	TripleDESCryptoServiceProvider tdes = new TripleDESCryptoServiceProvider();	tdes.Key = keyArray;	tdes.Mode = CipherMode.ECB;	tdes.Padding = PaddingMode.PKCS7;	ICryptoTransform cTransform = tdes.CreateDecryptor();	byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);	tdes.Clear();	return UTF8Encoding.UTF8.GetString(resultArray);}}

在Web.config中,我们需要指定密钥,例如:

 

<appSettings>  <add key="SecurityKey" value="!#$a54?3"/></appSettings>

 

 

 

Android UI开发专题(五) Bitmap和Canvas实例 Android UI开发专题(四) View自绘控件 Android UI开发专题(三) 各种Drawable 提高Android开发效率-Eclipse快捷键大全 Android UI开发专题(二) 之绘图基础 明天要教"作业"了:有关kde编程!help!!! 大家好,我想配置一台电脑,但是我很犹豫,不知道配AMD的CPU还是赛扬的2.4G 如何把文件中一段字符删除掉? 简单问题,在线等…… 如何在文件數大於50万個的文件夾快速查找文件 help IdPOP3严重求救! 从数据库中读出来的日文为什么会是乱码? 关于结贴给分的问题? I like the girl who is in 滑触线支架一般几米一个?如上 夜晚星空的好段谁有?50字左右 把老师比作红烛是因为 有人说,老师是红烛,是春蚕、是人梯、是园丁.你认为 第三段中,作者把老师比作“母亲”“人梯”“红烛”“ 作者把老师比作母亲人梯红烛,想一想还可以把老师比作 除了把老师比作母亲,人梯,红烛和春蚕,还可以比做什 女友的这条微博是什么意思呢?我和女友经朋友介绍认识 快递员拒绝先验货后签收 买家扬言放狗金华女子偷肉被发现 脱光衣裤跳池塘劫匪一脚踩在温州姑娘脸上 逼其说出银前同事冒充海关中层干部承诺拍卖会搞定韩国称金正恩频繁观看气垫船登陆演习 金华“小香港”,终于要整治了8月信贷投放或继续回落业内预测不超7张高丽会见巴基斯坦客人上海市区今明天气预报志愿者知识知多少地底传奇气冲星河三国之蜀汉我做主华山仙门异界流氓天尊北塔法轮寺旅游国恩寺旅游长寿谷旅游三深大会堂旅游青岛海洋游乐城旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘