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;
}
}
}
}
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;
}
}
}
}
相关文章推荐
- C#使用DES加密解密DataSet!
- C#使用DES加密解密DataSet!
- C#实现md5加密 sha1加密 sha256加密 sha384加密 sha512加密 des加密解密
- 使用C# DES解密java DES加密的字符串
- Asp.Net C#中除了MD5加密之外还经常用到了AES加密、解密与DES加密、解密,本次先介绍DES的加密及解密。注意的是DES的密匙是8位的。
- 基于C#对用户密码使用MD5加密与解密
- C# 使用DES加密,解密字符串
- 使用C# DES解密java DES加密的字符串
- C#对用户密码使用MD5加密与解密
- C#中使用MD5加密的方法
- 使用Quartz.net、Topshelf、wcf命名管道制作的一个c#定时任务管理程序(热插拔)
- C#中使用MD5加密的方法
- 在C#中使用WinGraphviz,一个COM图论组件,兼谈COM接口IStream在.NET下的互操作
- 关于使用C#编写一个简单的日志类
- C#创建数字证书并导出为pfx,并使用pfx进行非对称加解密
- MD5加密、URLEncoder和URLDecoder、DES加密和解密工具
- C#使用oledb连接excel运行Insert Into语句出现“操作必须使用一个可更新的查询”的解决的方法
- C#使用timespan和timer完成一个简单的倒计时器
- WinCE C#程序,控制启动时仅仅能启动一个程序,使用相互排斥量来实现,该实现方法測试通过
- 一个使用公钥签名与加密,使用密钥解密的案例。。。