MD5加密、DES加密,DES解密
来源:互联网 发布:神话电话软件 编辑:程序博客网 时间:2024/05/17 02:27
public class PGSecret
{
#region MD5加密
/// <summary>
/// MD5加密
/// </summary>
/// <param name="szString">需要加密的字符串</param>
/// <param name="bUpper">大小写处理[true大写,false小写]</param>
/// <returns>返回加密后的字符串</returns>
#endregion
public static String MD5(String szString, Boolean bUpper)
{
Byte[] b = Encoding.Default.GetBytes(szString);
b = new MD5CryptoServiceProvider().ComputeHash(b);
String szResult = "";
for (Int32 i = 0; i < b.Length; i++)
szResult += b[i].ToString("x").PadLeft(2, '0');
return bUpper ? szResult.ToUpper() : szResult.ToLower();
}
#region DES加密
/// <summary>
/// DES加密
/// </summary>
/// <param name="pToEncrypt">要加密的字符串。</param>
/// <param name="sKey">密钥,且必须为8位。</param>
/// <returns>以Base64格式返回的加密字符串。</returns>
#endregion
public static String DesEncrypt(String szToEncrypt, String szKey)
{
using (DESCryptoServiceProvider des = new DESCryptoServiceProvider())
{
byte[] inputByteArray = Encoding.UTF8.GetBytes(szToEncrypt);
des.Key = ASCIIEncoding.ASCII.GetBytes(szKey);
des.IV = ASCIIEncoding.ASCII.GetBytes(szKey);
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;
}
}
#region DES解密
/// <summary>
/// DES解密
/// </summary>
/// <param name="pToDecrypt">要解密的以Base64</param>
/// <param name="sKey">密钥,且必须为8位。</param>
/// <returns>已解密的字符串。</returns>
#endregion
public static String DesDecrypt(String szToDecrypt, String szKey)
{
byte[] inputByteArray = Convert.FromBase64String(szToDecrypt);
using (DESCryptoServiceProvider des = new DESCryptoServiceProvider())
{
des.Key = ASCIIEncoding.ASCII.GetBytes(szKey);
des.IV = ASCIIEncoding.ASCII.GetBytes(szKey);
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;
}
}
}
{
#region MD5加密
/// <summary>
/// MD5加密
/// </summary>
/// <param name="szString">需要加密的字符串</param>
/// <param name="bUpper">大小写处理[true大写,false小写]</param>
/// <returns>返回加密后的字符串</returns>
#endregion
public static String MD5(String szString, Boolean bUpper)
{
Byte[] b = Encoding.Default.GetBytes(szString);
b = new MD5CryptoServiceProvider().ComputeHash(b);
String szResult = "";
for (Int32 i = 0; i < b.Length; i++)
szResult += b[i].ToString("x").PadLeft(2, '0');
return bUpper ? szResult.ToUpper() : szResult.ToLower();
}
#region DES加密
/// <summary>
/// DES加密
/// </summary>
/// <param name="pToEncrypt">要加密的字符串。</param>
/// <param name="sKey">密钥,且必须为8位。</param>
/// <returns>以Base64格式返回的加密字符串。</returns>
#endregion
public static String DesEncrypt(String szToEncrypt, String szKey)
{
using (DESCryptoServiceProvider des = new DESCryptoServiceProvider())
{
byte[] inputByteArray = Encoding.UTF8.GetBytes(szToEncrypt);
des.Key = ASCIIEncoding.ASCII.GetBytes(szKey);
des.IV = ASCIIEncoding.ASCII.GetBytes(szKey);
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;
}
}
#region DES解密
/// <summary>
/// DES解密
/// </summary>
/// <param name="pToDecrypt">要解密的以Base64</param>
/// <param name="sKey">密钥,且必须为8位。</param>
/// <returns>已解密的字符串。</returns>
#endregion
public static String DesDecrypt(String szToDecrypt, String szKey)
{
byte[] inputByteArray = Convert.FromBase64String(szToDecrypt);
using (DESCryptoServiceProvider des = new DESCryptoServiceProvider())
{
des.Key = ASCIIEncoding.ASCII.GetBytes(szKey);
des.IV = ASCIIEncoding.ASCII.GetBytes(szKey);
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;
}
}
}
阅读全文
0 0
- DES加密解密 md5加密
- MD5加密、DES加密,DES解密
- md5加密 3-DES 加密 解密
- MD5加密与DES加密解密
- 使用Des,MD5 加密.解密.字符串.文件
- 使用Des,MD5 加密.解密.字符串.文件
- DES和MD5加密与解密
- DES和MD5加密与解密
- 3des,aes,md5加密解密方法
- IOS 加密解密(AES、DES、base64、md5)
- RSA、DES 、AES、MD5加密、解密
- DES/3DES加密,解密
- C# 加密解密(DES,3DES,MD5,Base64) 类
- SHA1、MD5、DES加密
- SHA1、MD5、DES加密
- MD5、3DES加密
- DES加密解密代码
- 3DES 加密解密
- Android高德地图之基础
- 关于thymeleaf的多条件及多属性设置
- Telephony-C/Java代码分析
- 基于EasyNVR+EasyDSS H5视频直播二次开发实现业务需求:直接使用播放页面
- source filename 与 sh filename 及./filename执行脚本的区别
- MD5加密、DES加密,DES解密
- javascript基础练习-获取和设置行内样式
- javascript浏览器对象之screen对象
- ubuntu安装内核对应的头文件
- 飞思卡尔开发板学习笔记——构建根文件系统
- jquery使用、遍历元素
- python利用tkinter设计界面进阶:ttk
- 实现RTSP摄像机进行网页直播和微信直播的技术方案:EasyNVR自动更新方法
- put-If-Absent