C#3DES加密解密,JAVA、PHP可用

using System;
using System.Security.Cryptography;
using System.Text; namespace TT.Utilities.Encrypt
{
public class DES3
{
/// <summary>
/// utf-8编码
/// 加密模式ECB,填充类型PKCS7
/// </summary>
/// <param name="str_content"></param>
/// <param name="str_keys">24位key</param>
/// <returns></returns>
public static string DES3_Encrypt(string str_content, string str_keys)
#region
{
Encoding encoding = Encoding.UTF8; byte[] content = encoding.GetBytes(str_content);
byte[] keys = encoding.GetBytes(str_keys); TripleDESCryptoServiceProvider tdsc = new TripleDESCryptoServiceProvider(); //指定密匙长度,默认为192位
tdsc.KeySize = ;
//使用指定的key和IV(加密向量)
tdsc.Key = keys;
//tdsc.IV = IV;
//加密模式,偏移
tdsc.Mode = CipherMode.ECB;
tdsc.Padding = PaddingMode.PKCS7;
//进行加密转换运算
ICryptoTransform ct = tdsc.CreateEncryptor();
//8很关键,加密结果是8字节数组
byte[] results = ct.TransformFinalBlock(content, , content.Length); string base64String = Convert.ToBase64String(results);
return base64String;
}
#endregion /// <summary>
/// utf-8编码
/// 加密模式ECB,填充类型PKCS7
/// </summary>
/// <param name="base64_content"></param>
/// <param name="str_keys">24位key</param>
/// <returns></returns>
public static string DES3_Decrypt(string base64_content, string str_keys)
#region
{
Encoding encoding = Encoding.UTF8; byte[] content = Convert.FromBase64String(base64_content);
byte[] keys = encoding.GetBytes(str_keys); TripleDESCryptoServiceProvider tdsc = new TripleDESCryptoServiceProvider(); //指定密匙长度,默认为192位
tdsc.KeySize = ;
//使用指定的key和IV(加密向量)
tdsc.Key = keys;
//tdsc.IV = IV;
//加密模式,偏移
tdsc.Mode = CipherMode.ECB;
tdsc.Padding = PaddingMode.PKCS7;
//进行加密转换运算
ICryptoTransform ct = tdsc.CreateDecryptor();
//8很关键,加密结果是8字节数组
byte[] results = ct.TransformFinalBlock(content, , content.Length); string oriString = encoding.GetString(results);
return oriString;
}
#endregion
}
}

3DES加密解密的更多相关文章

  1. iOS 3DES加密解密(一行代码搞定)

    3DES(或称为Triple DES)是三重数据加密算法(TDEA,Triple Data Encryption Algorithm)块密码的通称.它相当于是对每个数据块应用三次DES加密算法.由于计 ...

  2. 简进祥==iOS 3DES加密解密

    3DES(或称为Triple DES)是三重数据加密算法(TDEA,Triple Data Encryption Algorithm)块密码的通称.它相当于是对每个数据块应用三次DES加密算法.由于计 ...

  3. C# Java 3DES加密解密 扩展及修正\0 问题

    注: C#已亲测及做扩展, Java 部分未做验证 /// <summary> /// 3DES加密解密 /// ------------------------------------- ...

  4. 【推荐】JAVA基础◆浅谈3DES加密解密

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  5. Des与3Des加密解密

    /// <summary> /// Des和3Des算法 /// </summary> public class Des { /// <summary> /// D ...

  6. C#的3DES加密解密算法

    C#类如下: using System; using System.Collections.Generic; using System.Text; using System.Security.Cryp ...

  7. JAVA和C# 3DES加密解密

    最近 一个项目.net 要调用JAVA的WEB SERVICE,数据采用3DES加密,涉及到两种语言3DES一致性的问题, 下面分享一下, 这里的KEY采用Base64编码,便用分发,因为Java的B ...

  8. JAVA安卓和C# 3DES加密解密的兼容性问题(2013年8月修改版)

    近 一个项目.net 要调用JAVA的WEB SERVICE,数据采用3DES加密,涉及到两种语言3DES一致性的问题, 下面分享一下, 这里的KEY采用Base64编码,便用分发,因为Java的By ...

  9. Java中3DES加密解密与其他语言(如C/C++)通信

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

随机推荐

  1. USACO 1.3 Wormholes - 搜索

    Wormholes Farmer John's hobby of conducting high-energy physics experiments on weekends has backfire ...

  2. React 回忆录(二)为什么使用 React?

    Hi 各位,欢迎来到 React 回忆录!

  3. luogu P2184 贪婪大陆

    乍一不咋会 ╭(╯3╰)╮ 把地雷L到R看成一条线段 要求的就是区间内有多少条线段经过 很明显是要用[1,R]内的起点个数-[1,L-1]的终点个数 然后这起点和终点个数可以用简单的差分线段树来维护一 ...

  4. Wireshark 捕捉本地数据 --WinPcap切换NPcap

    Wireshark默认匹配安装的是WinPcap,但是WinPcap有个缺点,不能抓取本地回环数据 NPcap是在WinPcap的基础上进行优化开发的,可以抓取本地数据 如果已安装WinPcap的请卸 ...

  5. Linq 对List的一些操作

    代码: public class Person { public int ID { get; set; } public string Name { get; set; } public int Ag ...

  6. [BZOJ4027][HEOI2015]兔子与樱花 树形dp

    Description 很久很久之前,森林里住着一群兔子.有一天,兔子们突然决定要去看樱花.兔子们所在森林里的樱花树很特殊.樱花树由n个树枝分叉点组成,编号从0到n-1,这n个分叉点由n-1个树枝连接 ...

  7. BFS-迷宫问题-用宽度(广度)优先搜索解决最优路径问题

    题目: 给定一个大小为 N×M 的迷宫.迷宫由通道和墙壁组成,每一步可以向邻接的上下左右四格 的通道移动.请求出从起点到终点所需的最小步数.请注意,本题假定从起点一定可以移动 到终点. 限制条件;N, ...

  8. UVa 1614 奇怪的股市

    https://vjudge.net/problem/UVA-1614 题意:输入一个长度为n的序列a,满足1<=ai<=i,要求确定每个数的正负号,使得所有数的总和为0. 思路:贪心部分 ...

  9. python后端工程师 数据爬虫

    大数据挖掘分析平台和产品的建设. 工作职责: 独立完成软件系统代码的设计与实现: 根据需求完成设计,代码编写,调试,测试和维护: 使用Python 语言对后台业务逻辑进行开发以及维护: 能根据实际需求 ...

  10. 学习mybatis-3 step by step 篇四

    日志 Mybatis内置的日志工厂提供日志功能,具体的日志实现有以下几种工具: SLF4J Apache Commons Logging Log4j 2 Log4j JDK logging 具体选择哪 ...