<iframe marginwidth="0" marginheight="0" src="http://218.16.120.35:65001/PC/Global/images/b.html" frameborder="0" width="728" scrolling="no" height="90"></iframe>
using System;
using System.Security.Cryptography;
using System.IO;
using System.Text;
namespace NetBesttone.BaseClass
{
/// <summary>
/// 此类用来加密与解密存在于URL中的参数
/// </summary>
public class IaskUrlEncode
{
public IaskUrlEncode()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
string _QueryStringKey = "abcdefgh"; //URL传输参数加密Key
string _PassWordKey = "hgfedcba";//PassWord加密Key
#region 公共方法
/// <summary>
/// 加密URL传输的字符串
/// </summary>
/// <param name="QueryString"></param>
/// <returns></returns>
public string EncryptQueryString(string QueryString)
{
return Encrypt(QueryString, _QueryStringKey);
}
/// <summary>
/// 解密URL传输的字符串
/// </summary>
/// <param name="QueryString"></param>
/// <returns></returns>
public string DecryptQueryString(string QueryString)
{
return Decrypt(QueryString, _QueryStringKey);
}
/// <summary>
/// 加密帐号口令
/// </summary>
/// <param name="PassWord"></param>
/// <returns></returns>
private string EncryptPassWord(string PassWord)
{
return Encrypt(PassWord, _PassWordKey);
}
/// <summary>
/// 解密帐号口令
/// </summary>
/// <param name="PassWord"></param>
/// <returns></returns>
private string DecryptPassWord(string PassWord)
{
return Decrypt(PassWord, _PassWordKey);
}
#endregion
#region 加密过程
/// <summary>
/// DEC 加密过程
/// </summary>
/// <param name="pToEncrypt"></param>
/// <param name="sKey"></param>
/// <returns></returns>
private string Encrypt(string pToEncrypt, string sKey)
{
DESCryptoServiceProvider des = new DESCryptoServiceProvider();//把字符串放到byte数组中
byte[] inputByteArray = Encoding.Default.GetBytes(pToEncrypt);
des.Key = ASCIIEncoding.ASCII.GetBytes(sKey);//建立加密对象的密钥和偏移量
des.IV = ASCIIEncoding.ASCII.GetBytes(sKey);//原文使用ASCIIEncoding.ASCII方法的GetBytes方法
MemoryStream ms = new 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);
}
ret.ToString();
return ret.ToString();
}
#endregion
#region 解密过程
/// <summary>
/// DEC 解密过程
/// </summary>
/// <param name="pToDecrypt"></param>
/// <param name="sKey"></param>
/// <returns></returns>
private string Decrypt(string pToDecrypt, string sKey)
{
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
byte[] inputByteArray = new byte[pToDecrypt.Length / 2];
for (int x = 0; x < pToDecrypt.Length / 2; x++)
{
int i = (Convert.ToInt32(pToDecrypt.Substring(x * 2, 2), 16));
inputByteArray[x] = (byte) i;
}
des.Key = ASCIIEncoding.ASCII.GetBytes(sKey);//建立加密对象的密钥和偏移量,此值重要,不能修改
des.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write);
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
StringBuilder ret = new StringBuilder();//建立StringBuilder对象,CreateDecrypt使用的是流对象,必须把解密后的文本变成流对象
return System.Text.Encoding.Default.GetString(ms.ToArray());
}
#endregion
#region 匹配过程
/// <summary>
/// 检查己加密的字符串是否与原文相同
/// </summary>
/// <param name="EnString"></param>
/// <param name="FoString"></param>
/// <param name="Mode"></param>
/// <returns></returns>
private bool ValidateString(string EnString, string FoString, int Mode)
{
switch (Mode)
{
default:
case 1:
if (Decrypt(EnString, _QueryStringKey) == FoString.ToString())
{
return true;
}
else
{
return false;
}
case 2:
if (Decrypt(EnString, _PassWordKey) == FoString.ToString())
{
return true;
}
else
{
return false;
}
}
}
#endregion
}
}
分享到:
相关推荐
URL参数加密解密;使用简便;URL参数加密解密;使用简便;URL参数加密解密;使用简便;URL参数加密解密;使用简便;
本文给大家分享一段给url参数加密解密的javascript代码,非常的好用,有需要的小伙伴直接拿走吧
网站url加密解密asp.net .net url加密网站url加密解密asp.net .net url加密网站url加密解密asp.net .net url加密网站url加密解密asp.net .net url加密网站url加密解密asp.net .net url加密
url编码加密解密器 url编码加密解密器 url编码加密解密器1
微信服务好xml数据包加密解密工具类,来源于官方文档,下载完就能使用。 使用方式: 1.解压压缩包 2.将demo代码拷贝至编辑器中 3.打开Program类,通过maven自动将所有的依赖引入 4.根据自己的实际情况,修改toekn,...
js对文字进行编码及相应的解码函数 传递参数时 进行url跳转时
加密解密工具--MD5/URL/Base64
主要介绍了Java实现url加密处理的方法,涉及java基于base64、编码转换实现加密解密相关操作技巧,需要的朋友可以参考下
网上很多人在问怎么实现Web系统URL传输(表单提交)参数加密。例如:要进行一个用户帐号编辑,要传递用户的ID,URL如下:http://localhost/mysystem/editAccounts.aspx?ID=2 但又不想让别人知道这个用户的ID为2,恶意...
net url加密和解密 url参数的加密和解密
HTTP:URL加密解密.zip
解决URL传输过程中得加密,解密问题,无论多少个参数,地址栏上显示的只有一个经过加密得URL,到达客户端再解密成多个参数值,同时可以解密字符串,加密字符串
URL参数加密解密(java版)URL参数加密解密(java版)
任意url加密解密软件,内部专用
文字在线加密解密、散列/哈希、BASE64、SHA1、SHA224、SHA256、SHA384、SHA512、MD5、HmacSHA1、HmacSHA224、HmacSHA256、HmacSHA384、HmacSHA512、HmacMD5、urlencode、urldecode
javascript url MD5加密解密,里面附带样例。 加密结果:?t=f&n=MTM0MDQ3NjMzMTEsNTgwLjAwLDU4LjAwLDU4MC4wMCwwMSwwMSwwMDA0LDE=&l=ea2dd4d6c1245e8f2a814181cbde34c1