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. python爬取疫情数据存入MySQL数据库

    import requests from bs4 import BeautifulSoup import json import time from pymysql import * def mes( ...

  2. PHP中使用DOMDocument来处理HTML、XML文档

    其实从PHP5开始,PHP就为我们提供了一个强大的解析和生成XML相关操作的类,也就是我们今天要讲的 DOMDocument 类.不过我估计大部分人在爬取网页时还是会喜欢用正则去解析网页内容,学了今天 ...

  3. 第三方api接口

    做为一个软件测试工程师,你要学习接口测试,需要练习,那么就要有调用的api,可以参考以下的文章. 国内7款API供应平台功能对比及详细介绍 https://blog.csdn.net/ishxiao/ ...

  4. php 实现字符串最大子串长度

    求字符串最大子串长度<?php class zif { public function sz($str) { $strsz = str_split($str); $zi = []; $len = ...

  5. FormData上传文件 带进度条

    * jQuery ajax  FormData 上传文件 template $.ajax({ url: url, type: 'POST', data: new FormData(form), dat ...

  6. 一文让你快速入门pytest框架

    pytest是什么 官方文档描述: pytest is a framework that makes building simple and scalable tests easy. Tests ar ...

  7. YbtOJ#883-最大的割【带修线性基】

    正题 题目链接:http://www.ybtoj.com.cn/contest/118/problem/3 解题思路 给出\(n\)个点,\(m\)次动态插入一条无向边询问:割掉一些边使得图中至少两点 ...

  8. 看动画学算法之:doublyLinkedList

    目录 简介 doublyLinkedList的构建 doublyLinkedList的操作 头部插入 尾部插入 插入给定的位置 删除指定位置的节点 简介 今天我们来学习一下复杂一点的LinkedLis ...

  9. vue+element实现省区市三级联动以及详细地址的输入

    Vue+elementui实现省区市三级联动+详细地址的输入 详细需求,需要手动更改用户所在的地址. 安装依赖项 npm install element-china-area-data -S 在组建中 ...

  10. 踩坑系列《七》解决VMware安装完成之后,不能联网的问题

    成功安装CentOS 6.5 好之后,它是默认并不能联网,这时候得需要对root用户进行网络设置 1.先登录root账户 2.命令行输入以下命令,修改配置文件 vim /etc/sysconfig/n ...