zl程序教程

您现在的位置是:首页 >  移动开发

当前栏目

asp.netEncryptHelper加密帮助类

ASP加密 帮助
2023-06-13 09:14:15 时间
复制代码代码如下:

/**************************************************
*版权所有:Mr_Sheng
*文件名:EncryptHelper.cs
*文件描述:
*类型说明:EncryptHelper加密帮助类
*授权声明:
*本程序为自由软件;
*您可依据自由软件基金会所发表的GPLv3授权条款,对本程序再次发布和/或修改;
*本程序是基于使用目的而加以发布,然而不负任何担保责任;
*亦无对适售性或特定目的适用性所为的默示性担保。
*详情请参照GNU通用公共授权v3(参见license.txt文件)。
*版本历史:
*v2.0.0Mr_Sheng2009-09-09修改
*
***************************************************/
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
usingSystem.Security.Cryptography;

namespaceSheng.Common
{
///<summary>
///加密帮助类
///</summary>
publicclassEncryptHelper
{
///<summary>
///MD5加密
///</summary>
///<paramname="str"></param>
///<returns></returns>
publicstaticstringMD5DecryptString(stringstr)
{
MD5CryptoServiceProvidermd5=newMD5CryptoServiceProvider();
byte[]md5Source=System.Text.Encoding.UTF8.GetBytes(str);
byte[]md5Out=md5.ComputeHash(md5Source);
returnConvert.ToBase64String(md5Out);
}

///<summary>
///DES加密字符串
///</summary>
///<paramname="sInputString">输入字符</param>
///<paramname="sKey">Key</param>
///<returns>加密结果</returns>
publicstringDESEncryptString(stringsInputString,stringsKey)
{
try
{
byte[]data=Encoding.Default.GetBytes(sInputString);
byte[]result;
DESCryptoServiceProviderDES=newDESCryptoServiceProvider();
DES.Key=ASCIIEncoding.ASCII.GetBytes(sKey);//密钥
DES.IV=ASCIIEncoding.ASCII.GetBytes(sKey);//初始化向量
ICryptoTransformdesencrypt=DES.CreateEncryptor();//加密器对象
result=desencrypt.TransformFinalBlock(data,0,data.Length);//转换指定字节数组的指定区域
returnBitConverter.ToString(result);
}
catch(Exceptionex)
{
//ex.Message="DES加密异常";
throwex;
}
}

///<summary>
///DES解密字符串
///</summary>
///<paramname="sInputString">输入字符</param>
///<paramname="sKey">Key</param>
///<returns>解密结果</returns>
publicstringDESDecryptString(stringsInputString,stringsKey)
{
try
{
//将字符串转换为字节数组
string[]sInput=sInputString.Split("-".ToCharArray());
byte[]data=newbyte[sInput.Length];
byte[]result;
for(inti=0;i<sInput.Length;i++)
{
data[i]=byte.Parse(sInput[i],System.Globalization.NumberStyles.HexNumber);
}

DESCryptoServiceProviderDES=newDESCryptoServiceProvider();
DES.Key=ASCIIEncoding.ASCII.GetBytes(sKey);
DES.IV=ASCIIEncoding.ASCII.GetBytes(sKey);
ICryptoTransformdesencrypt=DES.CreateDecryptor();
result=desencrypt.TransformFinalBlock(data,0,data.Length);
returnEncoding.Default.GetString(result);
}
catch(Exceptionex)
{
//ex.Message="DES解密异常";
throwex;
}
}
}
}