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. VirtualBox 安装XP虚拟机需要注意的问题

    1.首先要有xp系统的镜像文件 http://pan.baidu.com/s/1i4xrwdJ 2.新建虚拟机,并安装 http://www.pczhishi.cn/shipin/107.html 3 ...

  2. 《Python程序设计(第3版)》[美] 约翰·策勒(John Zelle) 第 1 章 答案

    判断对错1.计算机科学是计算机的研究.2.CPU 是计算机的“大脑”.3.辅助存储器也称为 RAM.4.计算机当前正在处理的所有信息都存储在主存储器中.5.语言的语法是它的意思,语义是它的形式.6.函 ...

  3. numpy.random.randn()与rand()的区别【转】

    本文转载自:https://blog.csdn.net/u010758410/article/details/71799142 numpy中有一些常用的用来产生随机数的函数,randn()和rand( ...

  4. zedgraph右键菜单的汉化

    http://blog.csdn.net/jeryler/article/details/7876376 修改 zedGraphControl的ContextMenuBuilder事件即可! zedG ...

  5. BZOJ1045 [HAOI2008]糖果传递 && BZOJ3293 [Cqoi2011]分金币

    Description 有n个小朋友坐成一圈,每人有ai个糖果.每人只能给左右两人传递糖果.每人每次传递一个糖果代价为1. Input 第一行一个正整数nn<=1'000'000,表示小朋友的个 ...

  6. React Native控件之Switch开关

    这个组件很简单 主要有两个属性:开.关....呵呵哒,,, import React,{Component}from 'react'; import { AppRegistry, StyleSheet ...

  7. Codeforces Beta Round #94 div 1 D Numbers map+思路

    D. Numbers time limit per test 2 seconds memory limit per test 256 megabytes input standard input ou ...

  8. 引用类(RC)

    R 中还有一种具有引用语义的类系统,它更像其他面向对象编程语言中的类系统.首先,为了定义一个引用类( reference class , RC ),我们要给 setRefClass( )一个类定义.不 ...

  9. jq的attr()与prop()之间区别

    1.attr() 一直存在,prop() 仅存在于 jq-1.6 及其之后 2.新版本jq使用细节: 2.1 自定义添加至dom节点的属性,用attr获取 2.2 表单类checked.selecte ...

  10. Cocoapods 报警告Automatically assigning platform ios with version 9.0 on target....

    Automatically assigning platform iOS with version 9.0 on target 你的工程名称 because no platform was speci ...