c#加密类使用方法示例
更新时间:2013年11月25日 15:41:46 作者:
这篇文章主要介绍了c#加密类使用方法,大家可以参考使用
复制代码 代码如下:
using System;
using System.IO;
using System.Text;
using System.Security.Cryptography;
using System.Web;
namespace Encryption.App_Code
{
/// <summary>
/// 加密码类
/// </summary>
public class Encryption
{
/// <summary>
/// 加密
/// </summary>
/// <param name="inputString"></param>
/// <returns></returns>
public static string DesEncrypt(string inputString)
{
return DesEncrypt(inputString, Key);
}
/// <summary>
/// 解密
/// </summary>
/// <param name="inputString"></param>
/// <returns></returns>
public static string DesDecrypt(string inputString)
{
return DesDecrypt(inputString, Key);
}
/// <summary>
/// 密匙
/// </summary>
private static string Key
{
get
{
return "hongye10";
}
}
/// <summary>
/// 加密字符串
/// 注意:密钥必须为8位
/// </summary>
/// <param name="strText">字符串</param>
/// <param name="encryptKey">密钥</param>
/// <param name="encryptKey">返回加密后的字符串</param>
public static string DesEncrypt(string inputString, string encryptKey)
{
byte[] byKey = null;
byte[] IV = { 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF };
try
{
byKey = System.Text.Encoding.UTF8.GetBytes(encryptKey.Substring(0, 8));
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
byte[] inputByteArray = Encoding.UTF8.GetBytes(inputString);
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(byKey, IV), CryptoStreamMode.Write);
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
return Convert.ToBase64String(ms.ToArray());
}
catch (System.Exception error)
{
//return error.Message;
return null;
}
}
/// <summary>
/// 解密字符串
/// </summary>
/// <param name="this.inputString">加了密的字符串</param>
/// <param name="decryptKey">密钥</param>
/// <param name="decryptKey">返回解密后的字符串</param>
public static string DesDecrypt(string inputString, string decryptKey)
{
byte[] byKey = null;
byte[] IV = { 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF };
byte[] inputByteArray = new Byte[inputString.Length];
try
{
byKey = System.Text.Encoding.UTF8.GetBytes(decryptKey.Substring(0, 8));
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
inputByteArray = Convert.FromBase64String(inputString);
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(byKey, IV), CryptoStreamMode.Write);
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
System.Text.Encoding encoding = new System.Text.UTF8Encoding();
return encoding.GetString(ms.ToArray());
}
catch (System.Exception error)
{
//return error.Message;
return null;
}
}
}
}
相关文章
.NET 如何使用 OpenTelemetry metrics 监控应用程序指标
这篇文章主要介绍了.NET 使用 OpenTelemetry metrics 监控应用程序指标,通过代码演示了如何通过 OpenTelemetry 把 Metrics 的数据发送到 Prometheus 里进行查询与展示,然后又演示了自定义相关指标来满足业务数据指标的监控,需要的朋友可以参考下2024-06-06
实现DataGridView控件中CheckBox列的使用实例
最近做WindowsForms程序,使用DataGridView控件时,加了一列做选择用,发现CheckBox不能选中。搜索后,要实现DataGridView的CellContentClick事件,将代码贴一下2014-01-01
Repeater的FooterTemplate显示某列总计思路与代码
在Repeater的FooterTemplate显示某列总计,接下来与大家分享详细的实现方案,感兴趣的各位可以参考下哈2013-03-03
Windows Server 2012 R2 或 2016无法安装.Net 3.5.1
这篇文章主要为大家详细介绍了Windows Server 2012 R2 或 2016 无法安装 .Net 3.5.1,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-02-02


最新评论