欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

asp.net实现的MD5加密和DES加解密算法类完整示例

程序员文章站 2024-03-31 09:48:28
本文实例讲述了asp.net实现的md5加密和des加解密算法类。分享给大家供大家参考,具体如下: #region md5算法 public string md...

本文实例讲述了asp.net实现的md5加密和des加解密算法类。分享给大家供大家参考,具体如下:

#region md5算法
public string md5(string str, int code)
{
if (code == 32) //32位加密
{
return system.web.security.formsauthentication.hashpasswordforstoringinconfigfile(str, "md5").tolower();
}
else //16位md5加密(取32位加密的9~25字符)
{
return system.web.security.formsauthentication.hashpasswordforstoringinconfigfile(str, "md5").tolower().substring(8, 16);
}
}
#endregion

#region desencrypt des加密
// <summary>
/// 进行des加密。
/// </summary>
/// <param name=”ptoencrypt”>要加密的字符串。</param>
/// <param name=”skey”>密钥,且必须为8位。</param>
/// <returns>以base64格式返回的加密字符串。</returns>
public string desencrypt(string ptoencrypt, string skey)
{
using (descryptoserviceprovider des = new descryptoserviceprovider())
{
byte[] inputbytearray = encoding.utf8.getbytes(ptoencrypt);
des.key = asciiencoding.ascii.getbytes(skey);
des.iv = asciiencoding.ascii.getbytes(skey);
system.io.memorystream ms = new system.io.memorystream();
using (cryptostream cs = new cryptostream(ms, des.createencryptor(), cryptostreammode.write))
{
cs.write(inputbytearray, 0, inputbytearray.length);
cs.flushfinalblock();
cs.close();
}
string str = convert.tobase64string(ms.toarray());
ms.close();
return str;
}
}
#endregion

#region desdecrypt des解密
/// <summary>
/// 进行des解密。
/// </summary>
/// <param name=”ptodecrypt”>要解密的以base64</param>
/// <param name=”skey”>密钥,且必须为8位。</param>
/// <returns>已解密的字符串。</returns>
public string desdecrypt(string ptodecrypt, string skey)
{
byte[] inputbytearray = convert.frombase64string(ptodecrypt);
using (descryptoserviceprovider des = new descryptoserviceprovider())
{
des.key = asciiencoding.ascii.getbytes(skey);
des.iv = asciiencoding.ascii.getbytes(skey);
system.io.memorystream ms = new system.io.memorystream();
using (cryptostream cs = new cryptostream(ms, des.createdecryptor(), cryptostreammode.write))
{
cs.write(inputbytearray, 0, inputbytearray.length);
cs.flushfinalblock();
cs.close();
}
string str = encoding.utf8.getstring(ms.toarray());
ms.close();
return str;
}
}
#endregion

ps:关于加密解密感兴趣的朋友还可以参考本站在线工具:

密码安全性在线检测:

高强度密码生成器:
http://tools.jb51.net/password/createstrongpassword

md5在线加密工具:
http://tools.jb51.net/password/createmd5password

迅雷、快车、旋风url加密/解密工具:

在线散列/哈希算法加密工具:

更多关于asp.net相关内容感兴趣的读者可查看本站专题:《asp.net操作json技巧总结》、《asp.net字符串操作技巧汇总》、《asp.net操作xml技巧总结》、《asp.net文件操作技巧汇总》、《asp.net ajax技巧总结专题》及《asp.net缓存操作技巧总结》。

希望本文所述对大家asp.net程序设计有所帮助。