您的位置:首页 > 编程语言 > C#

C#使用MD5加密,DES加密解密的一个类

2017-02-05 15:58 381 查看
没什么好说的,直接上类。

using System;
using System.IO;
using System.Security.Cryptography;
using System.Text;

namespace Secret
{
public class MD5
{
/// <summary>
/// MD5加密
/// </summary>
/// <param name="s">需要加密的字符串</param>
/// <returns></returns>
public static string EncryptMD5(string s)
{
var md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
var result = "";
if (!string.IsNullOrWhiteSpace(s))
{
result = BitConverter.ToString(md5.ComputeHash(UnicodeEncoding.UTF8.GetBytes(s.Trim())));
}
return result;
}
}

public class DES
{
//DES加密秘钥,要求为8位
private const string desKey = "xianglk1";
//默认密钥向量
private static byte[] Keys = { 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF };

/// <summary>
/// DES加密
/// </summary>
/// <param name="encryptString">待加密的字符串,未加密成功返回原串</param>
/// <returns></returns>
public static string EncryptDES(string encryptString)
{
try
{
byte[] rgbKey = Encoding.UTF8.GetBytes(desKey);
byte[] rgbIV = Keys;
byte[] inputByteArray = Encoding.UTF8.GetBytes(encryptString);
DESCryptoServiceProvider dCSP = new DESCryptoServiceProvider();
MemoryStream mStream = new MemoryStream();
CryptoStream cStream = new CryptoStream(mStream, dCSP.CreateEncryptor(rgbKey, rgbIV), CryptoStreamMode.Write);
cStream.Write(inputByteArray, 0, inputByteArray.Length);
cStream.FlushFinalBlock();
return Convert.ToBase64String(mStream.ToArray());
}
catch
{
return encryptString;
}
}

/// <summary>
/// DES解密
/// </summary>
/// <param name="decryptString">待解密的字符串,未解密成功返回原串</param>
/// <returns></returns>
public static string DecryptDES(string decryptString)
{
try
{
byte[] rgbKey = Encoding.UTF8.GetBytes(desKey);
byte[] rgbIV = Keys;
byte[] inputByteArray = Convert.FromBase64String(decryptString);
DESCryptoServiceProvider DCSP = new DESCryptoServiceProvider();
MemoryStream mStream = new MemoryStream();
CryptoStream cStream = new CryptoStream(mStream, DCSP.CreateDecryptor(rgbKey, rgbIV), CryptoStreamMode.Write);
cStream.Write(inputByteArray, 0, inputByteArray.Length);
cStream.FlushFinalBlock();
return Encoding.UTF8.GetString(mStream.ToArray());
}
catch
{
return decryptString;
}
}

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: