asp.net EncryptHelper 加密帮助类
程序员文章站
2024-03-09 09:34:23
复制代码 代码如下:/************************************************** * 版权所有: mr_sheng * 文 件 名...
复制代码 代码如下:
/**************************************************
* 版权所有: mr_sheng
* 文 件 名: encrypthelper.cs
* 文件描述:
* 类型说明: encrypthelper 加密帮助类
* 授权声明:
* 本程序为*软件;
* 您可依据*软件基金会所发表的gpl v3授权条款,对本程序再次发布和/或修改;
* 本程序是基于使用目的而加以发布,然而不负任何担保责任;
* 亦无对适售性或特定目的适用性所为的默示性担保。
* 详情请参照gnu通用公共授权 v3(参见license.txt文件)。
* 版本历史:
* v2.0.0 mr_sheng 2009-09-09 修改
*
***************************************************/
using system;
using system.collections.generic;
using system.text;
using system.security.cryptography;
namespace sheng.common
{
/// <summary>
/// 加密帮助类
/// </summary>
public class encrypthelper
{
/// <summary>
/// md5加密
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static string md5decryptstring(string str)
{
md5cryptoserviceprovider md5 = new md5cryptoserviceprovider();
byte[] md5source = system.text.encoding.utf8.getbytes(str);
byte[] md5out = md5.computehash(md5source);
return convert.tobase64string(md5out);
}
/// <summary>
/// des加密字符串
/// </summary>
/// <param name="sinputstring">输入字符</param>
/// <param name="skey">key</param>
/// <returns>加密结果</returns>
public string desencryptstring(string sinputstring, string skey)
{
try
{
byte[] data = encoding.default.getbytes(sinputstring);
byte[] result;
descryptoserviceprovider des = new descryptoserviceprovider();
des.key = asciiencoding.ascii.getbytes(skey); //密钥
des.iv = asciiencoding.ascii.getbytes(skey); //初始化向量
icryptotransform desencrypt = des.createencryptor(); //加密器对象
result = desencrypt.transformfinalblock(data, 0, data.length); //转换指定字节数组的指定区域
return bitconverter.tostring(result);
}
catch (exception ex)
{
//ex.message = "des加密异常";
throw ex;
}
}
/// <summary>
/// des解密字符串
/// </summary>
/// <param name="sinputstring">输入字符</param>
/// <param name="skey">key</param>
/// <returns>解密结果</returns>
public string desdecryptstring(string sinputstring, string skey)
{
try
{
//将字符串转换为字节数组
string[] sinput = sinputstring.split("-".tochararray());
byte[] data = new byte[sinput.length];
byte[] result;
for (int i = 0; i < sinput.length; i++)
{
data[i] = byte.parse(sinput[i], system.globalization.numberstyles.hexnumber);
}
descryptoserviceprovider des = new descryptoserviceprovider();
des.key = asciiencoding.ascii.getbytes(skey);
des.iv = asciiencoding.ascii.getbytes(skey);
icryptotransform desencrypt = des.createdecryptor();
result = desencrypt.transformfinalblock(data, 0, data.length);
return encoding.default.getstring(result);
}
catch (exception ex)
{
//ex.message = "des解密异常";
throw ex;
}
}
}
}
上一篇: php 三级联动菜单
下一篇: 拷贝指定文件夹里的内容到指定目录下