啥也不说,直接上代码。
加密解码,封装到一个类,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参数明文的问题相关推荐

  1. 常见加密解密和URL编解码

    常见加密解密和URL编解码 Base64 概念: 基于64个可打印字符,用于表示二进制数据,使用的字符包括大小写拉丁字母各26个.数字10个.加号+和斜杠/,共64个字符,等号=用来作为后缀用途 2^ ...

  2. 在Java中使用DES加密解密算法

    import javax.crypto.*; import javax.crypto.spec.DESKeySpec; import java.security.NoSuchAlgorithmExce ...

  3. php ecb加密,PHP之DES加密解密算法类(ECB模式)(实例教程)

    PHP中加密解密函数与DES加密解密的应用实例:<?php define('SMS_KEY', 'K0e5293b'); class DesUtil{ public function encry ...

  4. getcoo php_PHP简单实现DES加密解密的方法

    本文实例讲述了PHP简单实现DES加密解密的方法.分享给大家供大家参考,具体如下: des加密: function des_encrypt($str, $key) { $block = mcrypt_ ...

  5. .net实现md5加密 sha1加密 sha256加密 sha384加密 sha512加密 des加密解密

    写项目时,后台一直用md5加密,一天群里人问,除了MD5还有其它的加密方法吗?当时只知道还有个SHA,但怎么实现什么的都不清楚,于是当网上找了下,把几种常见的加密方法都整理了下,用winform写了个 ...

  6. python des解密_python实现DES加密解密方法实例详解

    本文实例讲述了python实现DES加密解密方法.分享给大家供大家参考.具体分析如下: 实现功能:加密中文等字符串 密钥与明文可以不等长 这里只贴代码,加密过程可以自己百度,此处python代码没有优 ...

  7. java 实现 DES加密 解密算法

    DES算法的入口参数有三个:Key.Data.Mode.其中Key为8个字节共64位,是DES算法的工作密钥:Data也为8个字节64位,是要被加密或被解密的数据:Mode为DES的工作方式,有两种: ...

  8. DES加密解密算法Java实现

    DES 使用一个 56 位的密钥以及附加的 8 位奇偶校验位,产生最大 64 位的分组大小.这是一个迭代的分组密码,使用称为 Feistel 的技术,其中将加密的文本块分成两半.使用子密钥对其中一半应 ...

  9. DES加密解密与AES加密解密

    × 目录 [1]AES加密算法和DES加密算法的效率比较 [2]AES和DES加密解密代码 随着开发时间的变长,当初认为比较难的东西,现在渐渐也就变的不那么难了!特别对于一些经常很少使用的类,时间长了 ...

最新文章

  1. 随机森林——气温预测(2/2)
  2. idea 自定义工具栏
  3. Java中四种访问修饰符的区别
  4. c++STL容器的List
  5. matlab绘制烟花,[原创]利用MATLAB燃放烟花(礼花)
  6. Entity Framework Core 2.0 新特性
  7. 单身狗有福了!斯坦福教授化身丘比特,AI算法之箭帮你配真命爱侣
  8. python中的date的含义_python中date、datetime、string的相互转换
  9. 正在东京、首尔开DevDays
  10. qmake常用语法三
  11. python机器学习库sklearn——模型评估
  12. 【BZOJ2164】采矿 树链剖分+线段树维护DP
  13. 过VMP加壳程序的自效验
  14. 【浏览器兼容性问题解决方案】
  15. C语言10道入门题集
  16. Unity3D暂停,继续游戏,重新开始,退出,以及 UnityEditor.EditorApplication打包后不会执行
  17. 你想了解ADSS和OPGW光缆之间的区别吗?
  18. 商城系统建设:如何搭建自己的网上商城平台
  19. 斯芬克斯(sphinx) mysql全文搜索引擎
  20. Buffer Pool Manager

热门文章

  1. log4j的日志级别
  2. mysql的索引和执行计划
  3. 协鑫集成为泰国Enmax建立10MW光伏电站
  4. (可行方案)mysql5.7.9安装教程
  5. 架构名词,涉及的技术
  6. Java插件项目不能转了问题
  7. mysql如何安装 centos7_如何解决centos7上mysql安装及问题
  8. jieba安装_Jieba库实现词性标注及小说人物角色抽取
  9. C程序设计语言现代方法18:声明
  10. 【OpenCv】cvWaitKey获取键盘值