1 public class Des
2 {
3 public static string Encrypt(string message, string key)
4 {
5 DES des = new DESCryptoServiceProvider();
6 des.Key = Encoding.UTF8.GetBytes(key);
7 des.IV = Encoding.UTF8.GetBytes(key);
8 //des.Mode = CipherMode.ECB;
9
10 byte[] inputByteArray = Encoding.UTF8.GetBytes(message);
11
12 System.IO.MemoryStream ms = new System.IO.MemoryStream();
13 CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write);
14 cs.Write(inputByteArray, 0, inputByteArray.Length);
15 cs.FlushFinalBlock();
16 ms.Close();
17 StringBuilder ret = new StringBuilder();
18 foreach (byte b in ms.ToArray())
19 {
20 ret.AppendFormat("{0:X2}", b);
21 }
22 return ret.ToString();
23
24 }
25
26 //DES解密
27 public static string Decrypt(string content, string key)
28 {
29 try
30 {
31 DESCryptoServiceProvider provider = new DESCryptoServiceProvider();
32 // 密钥
33 provider.Key = Encoding.UTF8.GetBytes(key);
34 // 偏移量
35 provider.IV = Encoding.UTF8.GetBytes(key);
36 byte[] buffer = new byte[content.Length / 2];
37 for (int i = 0; i < (content.Length / 2); i++)
38 {
39 int num2 = Convert.ToInt32(content.Substring(i * 2, 2), 0x10);
40 buffer[i] = (byte)num2;
41 }
42 using(MemoryStream stream = new MemoryStream())
43 {
44 CryptoStream stream2 = new CryptoStream(stream, provider.CreateDecryptor(), CryptoStreamMode.Write);
45 stream2.Write(buffer, 0, buffer.Length);
46 stream2.FlushFinalBlock();
47 stream.Close();
48 return Encoding.UTF8.GetString(stream.ToArray());
49 }
50 }
51 catch (Exception) { return ""; }
52 }
53 }

Des加密解密(公共方法)的更多相关文章

  1. php使用openssl进行Rsa长数据加密(117)解密(128) 和 DES 加密解密

    PHP使用openssl进行Rsa加密,如果要加密的明文太长则会出错,解决方法:加密的时候117个字符加密一次,然后把所有的密文拼接成一个密文:解密的时候需要128个字符解密一下,然后拼接成数据. 加 ...

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

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

  3. php实现和c#一致的DES加密解密

    原文:php实现和c#一致的DES加密解密 php实现和c#一致的DES加密解密,可以从网上搜到一大堆,但是测试后发现都没法用.以下正确代码是我经过苦苦才找到的.希望大家在系统整合时能用的上. 注意: ...

  4. 各种加密解密函数(URL加密解密、sha1加密解密、des加密解密)

    原文:各种加密解密函数(URL加密解密.sha1加密解密.des加密解密) 普通hash函数如md5.sha1.base64等都是不可逆函数.虽然我们利用php可以利用这些函数写出可逆函数来.但是跨语 ...

  5. PHP DES加密解密

    自定义密码加密解密函数,源自网友,记录保存一下. <?php /** * DES加密解密 */ class Mcrypt{ public function __construct(){} fun ...

  6. DES 加密解密

    [概念] 数据加密算法(Data Encryption Algorithm,DEA)是一种对称加密算法,很可能是使用最广泛的密钥系统,特别是在保护金融数据的安全中,最初开发的DEA是嵌入硬件中的.通常 ...

  7. des加密解密——java加密,php解密

    最近在做项目中,遇到des加密解密的问题. 场景是安卓app端用des加密,php这边需要解密.之前没有接触过des这种加密解密算法,但想着肯定会有demo.因此百度,搜了代码来用.网上代码也是鱼龙混 ...

  8. DES加密解密

    加密后生成Base64字符串,并去除'='字符. 加密后替换掉'+',这样加密后的字符串可以作为url参数传递. using System; using System.IO; using System ...

  9. linux环境下给文件加密/解密的方法

      原文地址:linix环境下给文件加密/解密的方法 作者:oracunix 一. 利用 vim/vi 加密:优点:加密后,如果不知道密码,就看不到明文,包括root用户也看不了:缺点:很明显让别人知 ...

  10. 一个java的DES加密解密类转换成C#

    一个java的des加密解密代码如下: //package com.visionsky.util; import java.security.*; //import java.util.regex.P ...

随机推荐

  1. 机器学*——K*邻算法(KNN)

    1 前言 Kjin邻法(k-nearest neighbors,KNN)是一种基本的机器学*方法,采用类似"物以类聚,人以群分"的思想.比如,判断一个人的人品,只需观察他来往最密切 ...

  2. PHP中的IMAP扩展简单入门

    对于邮件处理来说,大家比较熟悉的应该是 POP3 . SMTP 这类的协议,而今天我们介绍的 IMAP 其实也是非常常用的一种邮件处理协议.它和 POP3 比较类似,都是以接收处理邮件为主.不过相对于 ...

  3. ecshop调用指定栏目下的文章的方法

    打开 index.php 添加 fun函数一个,需放在<php与?>中间. /** * 获得指定栏目的文章列表. * @param int $cid 栏目ID * @param int $ ...

  4. Java基础系列(18)- if选择结构

    if单选择结构 我们很多时候需要去判断一个东西是否可行,然后我们才去执行,这样一个过程在程序中用if语句来表示 语法 if (布尔表达式){ //如果布尔表达式为True将执行的语句 } packag ...

  5. Flutter 对状态管理的认知与思考

    前言 由 编程技术交流圣地[-Flutter群-] 发起的 状态管理研究小组,将就 状态管理 相关话题进行为期 两个月 的讨论. 目前只有内定的 5 个人参与讨论,如果你对 状态管理 有什么独特的见解 ...

  6. django 使用装饰器验证用户登陆

    使用装饰器验证用户登陆,需要使用@method_decorator 首先需引用,method_decorator,并定义一个闭包 from django.utils.decorators import ...

  7. windows环境下配置Kafaka

    一.安装Zookeeper(Kafaka依赖于zookeeper进行服务注册和管理) 1. 1   下载zookeeper:http://mirror.bit.edu.cn/apache/zookee ...

  8. 纯净Ubuntu16安装CUDA(9.1)和cuDNN

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  9. tomcat启动程序报错

    1.问题 23-Apr-2021 10:53:38.897 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.de ...

  10. linux启动redis命令

    首先进入到/usr/local/bin目录下(因为你redis安装的目录绝大多数都在这里) root@xxxx:/usr/local/bin#:redis-server wangconfig/redi ...