Des对称可逆加密
/// <summary>
/// DES AES Blowfish
/// 对称加密算法的优点是速度快,
/// 缺点是密钥管理不方便,要求共享密钥。
/// 可逆对称加密 密钥长度8
/// </summary>
using System.Security.Cryptography;
public class DesEncrypt
{
//8位长度
private static string KEY = "ruanmou1";
private static byte[] rgbKey = ASCIIEncoding.ASCII.GetBytes(KEY.Substring(0, 8));
private static byte[] rgbIV = ASCIIEncoding.ASCII.GetBytes(KEY.Insert(0, "w").Substring(0, 8));
/// <summary>
/// DES 加密
/// </summary>
/// <param name="strValue"></param>
/// <returns></returns>
public static string Encrypt(string strValue)
{
DESCryptoServiceProvider dsp = new DESCryptoServiceProvider();
using (MemoryStream memStream = new MemoryStream())
{
CryptoStream crypStream = new CryptoStream(memStream, dsp.CreateEncryptor(rgbKey, rgbIV), CryptoStreamMode.Write);
StreamWriter sWriter = new StreamWriter(crypStream);
sWriter.Write(strValue);
sWriter.Flush();
crypStream.FlushFinalBlock();
memStream.Flush();
return Convert.ToBase64String(memStream.GetBuffer(), 0, (int)memStream.Length);
}
}
/// <summary>
/// DES解密
/// </summary>
/// <param name="EncValue"></param>
/// <returns></returns>
public static string Decrypt(string EncValue)
{
DESCryptoServiceProvider dsp = new DESCryptoServiceProvider();
byte[] buffer = Convert.FromBase64String(EncValue);
using (MemoryStream memStream = new MemoryStream())
{
CryptoStream crypStream = new CryptoStream(memStream, dsp.CreateDecryptor(rgbKey, rgbIV), CryptoStreamMode.Write);
crypStream.Write(buffer, 0, buffer.Length);
crypStream.FlushFinalBlock();
return ASCIIEncoding.UTF8.GetString(memStream.ToArray());
}
}
}
string desEn1 = DesEncrypt.Encrypt("张三李四");
string desDe1 = DesEncrypt.Decrypt(desEn1);
最新文章
- android 解析XML 工具类
- Distance Between Points
- 异步-学习笔记3 Task
- HTML+CSS结构与表现原则
- MyEclipse中将项目导出jar包,以及转化成EXE文件
- ActiveMQ讯息传送机制以及ACK机制
- RxSwift 系列(五) -- Filtering and Conditional Operators
- CentOS 7 安装MySQL 5.6遇到问题及解决方案
- 【if...else】三角形判断
- 分布式session解决——Spring-data-redis
- foreach控制循环if判断
- centos7下安装docker(26如何配置Health Check)
- 如何使用 Visual C# .NET 处理 Excel 事件
- 【转】Emgu 图像阈值
- nginx: [error] invalid PID number ";"; in ";/var/run/nginx/nginx.pid";
- iOS - keychain 详解及变化
- 投稿007期|令人震惊到发指的PyObject对象代码设计之美
- 原创:微信小程序调用PHP后台接口,解析纯html文本
- mysql pdo事务
- loadrunner--vugen录制脚本提示“无Internet访问。您可能无法录制并执行业务进程”
热门文章
- 为何Keras中的CNN是有问题的,如何修复它们?
- Google AI推出新的大规模目标检测挑战赛
- 十分钟一起学会Inception网络
- js 图片轮播简单版
- Flutter 不可错过的学习资源
- 你还不知道Vue的生命周期吗?带你从Vue源码了解Vue2.x的生命周期(初始化阶段)
- Java 为 Excel 中的行设置交替背景色
- Sqli-labs Less-58 报错注入 5次机会
- 1040 Longest Symmetric String (25分)(dp)
- CAS单点登录系列之极速入门于实战教程(4.2.7)