用C#实现DES加密解密解决URL参数明文的问题
啥也不说,直接上代码。
加密解码,封装到一个类,key可以自己修改。
using System;
using System.Security.Cryptography;
using System.Text;
using System.IO; namespace Common
...{ /** <summary> /// DESEncrypt加密解密算法。 /// </summary> public sealed class DESEncrypt ...{ private DESEncrypt() ...{ // // TODO: 在此处添加构造函数逻辑 // } private static string key = "joke168"; /** <summary> /// 对称加密解密的密钥 /// </summary> public static string Key ...{ get ...{ return key; } set ...{ key = value; } } /** <summary> /// DES加密 /// </summary> /// <param name="encryptString"></param> /// <returns></returns> public static string DesEncrypt(string encryptString) ...{ byte[] keyBytes = Encoding.UTF8.GetBytes(key.Substring(0, 8)); byte[] keyIV = keyBytes; byte[] inputByteArray = Encoding.UTF8.GetBytes(encryptString); DESCryptoServiceProvider provider = new DESCryptoServiceProvider(); MemoryStream mStream = new MemoryStream(); CryptoStream cStream = new CryptoStream(mStream, provider.CreateEncryptor(keyBytes, keyIV), CryptoStreamMode.Write); cStream.Write(inputByteArray, 0, inputByteArray.Length); cStream.FlushFinalBlock(); return Convert.ToBase64String(mStream.ToArray()); } /** <summary> /// DES解密 /// </summary> /// <param name="decryptString"></param> /// <returns></returns> public static string DesDecrypt(string decryptString) ...{ byte[] keyBytes = Encoding.UTF8.GetBytes(key.Substring(0, 8)); byte[] keyIV = keyBytes; byte[] inputByteArray = Convert.FromBase64String(decryptString); DESCryptoServiceProvider provider = new DESCryptoServiceProvider(); MemoryStream mStream = new MemoryStream(); CryptoStream cStream = new CryptoStream(mStream, provider.CreateDecryptor(keyBytes, keyIV), CryptoStreamMode.Write); cStream.Write(inputByteArray, 0, inputByteArray.Length); cStream.FlushFinalBlock(); return Encoding.UTF8.GetString(mStream.ToArray()); } }
}
欢迎批评指正。
转载于:https://www.cnblogs.com/joke168/p/3546263.html
用C#实现DES加密解密解决URL参数明文的问题相关推荐
- 常见加密解密和URL编解码
常见加密解密和URL编解码 Base64 概念: 基于64个可打印字符,用于表示二进制数据,使用的字符包括大小写拉丁字母各26个.数字10个.加号+和斜杠/,共64个字符,等号=用来作为后缀用途 2^ ...
- 在Java中使用DES加密解密算法
import javax.crypto.*; import javax.crypto.spec.DESKeySpec; import java.security.NoSuchAlgorithmExce ...
- php ecb加密,PHP之DES加密解密算法类(ECB模式)(实例教程)
PHP中加密解密函数与DES加密解密的应用实例:<?php define('SMS_KEY', 'K0e5293b'); class DesUtil{ public function encry ...
- getcoo php_PHP简单实现DES加密解密的方法
本文实例讲述了PHP简单实现DES加密解密的方法.分享给大家供大家参考,具体如下: des加密: function des_encrypt($str, $key) { $block = mcrypt_ ...
- .net实现md5加密 sha1加密 sha256加密 sha384加密 sha512加密 des加密解密
写项目时,后台一直用md5加密,一天群里人问,除了MD5还有其它的加密方法吗?当时只知道还有个SHA,但怎么实现什么的都不清楚,于是当网上找了下,把几种常见的加密方法都整理了下,用winform写了个 ...
- python des解密_python实现DES加密解密方法实例详解
本文实例讲述了python实现DES加密解密方法.分享给大家供大家参考.具体分析如下: 实现功能:加密中文等字符串 密钥与明文可以不等长 这里只贴代码,加密过程可以自己百度,此处python代码没有优 ...
- java 实现 DES加密 解密算法
DES算法的入口参数有三个:Key.Data.Mode.其中Key为8个字节共64位,是DES算法的工作密钥:Data也为8个字节64位,是要被加密或被解密的数据:Mode为DES的工作方式,有两种: ...
- DES加密解密算法Java实现
DES 使用一个 56 位的密钥以及附加的 8 位奇偶校验位,产生最大 64 位的分组大小.这是一个迭代的分组密码,使用称为 Feistel 的技术,其中将加密的文本块分成两半.使用子密钥对其中一半应 ...
- DES加密解密与AES加密解密
× 目录 [1]AES加密算法和DES加密算法的效率比较 [2]AES和DES加密解密代码 随着开发时间的变长,当初认为比较难的东西,现在渐渐也就变的不那么难了!特别对于一些经常很少使用的类,时间长了 ...
最新文章
- 随机森林——气温预测(2/2)
- idea 自定义工具栏
- Java中四种访问修饰符的区别
- c++STL容器的List
- matlab绘制烟花,[原创]利用MATLAB燃放烟花(礼花)
- Entity Framework Core 2.0 新特性
- 单身狗有福了!斯坦福教授化身丘比特,AI算法之箭帮你配真命爱侣
- python中的date的含义_python中date、datetime、string的相互转换
- 正在东京、首尔开DevDays
- qmake常用语法三
- python机器学习库sklearn——模型评估
- 【BZOJ2164】采矿 树链剖分+线段树维护DP
- 过VMP加壳程序的自效验
- 【浏览器兼容性问题解决方案】
- C语言10道入门题集
- Unity3D暂停,继续游戏,重新开始,退出,以及 UnityEditor.EditorApplication打包后不会执行
- 你想了解ADSS和OPGW光缆之间的区别吗?
- 商城系统建设:如何搭建自己的网上商城平台
- 斯芬克斯(sphinx) mysql全文搜索引擎
- Buffer Pool Manager