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. hdu 3336 Count the string -KMP&dp

    It is well known that AekdyCoin is good at string problems as well as number theory problems. When g ...

  2. JS(JavaScript)脚本库的积累

    在现在互联网盛行的时代,使得B/S架构飞速发展.曾经在大学的时候我一直都梦想着毕业后要找一个像腾讯这样大企业做C/S方面的开发工作(其实现在腾讯也有很多B/S软件),因为C/S体验度非常高,感觉非常好 ...

  3. Python3基础 函数 有参数有返回值 对传入的参数加1

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  4. babun安装,整合到cmder

    babun Babun的特性: 预装了Cygwin以及许多的插件 默认的命令行安装工具,没有管理员权限要求. 预装了 pact工具,一个高级的包管理器,类似 apt-get或yum xTerm-256 ...

  5. JavaScript:正则表达式 应用

    1. var data = "<table id=\"test\"><tr class=\"light\"><td> ...

  6. MOOC_Java进阶_翁恺讲_第三周题

    package mooc_java进阶_d3周题; /** * 没有使用HashMap */ import java.util.ArrayList; import java.util.Scanner; ...

  7. 解决Ubuntu14.04 下 E: Encountered a section with no Package: header 问题

    参考: ubuntu-E:Encountered a section with no Package: header的解决办法 解决Ubuntu14.04 下 E: Encountered a sec ...

  8. TensorFlow上实践基于自编码的One Class Learning

    “我不知道什么是爱,但我知道什么是不爱” --One Class Learning的自白 一.单分类简介 如果将分类算法进行划分,根据类别个数的不同可以分为单分类.二分类.多分类,常见的分类算法主要解 ...

  9. python 进程队列

    #_*_coding:utf-8_*_ from multiprocessing import Process,Queue import os,time def f(q,n): q.put([n,'h ...

  10. shell 函数调用

    例一 #!/bin/bash create_link() { filelist=`ls $` for file in $filelist do echo $/$file done } create_l ...