java进行3DES加解密
import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
import javax.xml.bind.DatatypeConverter; public class mainclazz { public static void main(String[] args) {
// key 生成规则 k1 + k2 + k3 其中 k1=k3,每个key长度为8Byte,共16Byte。X9.25标准则k1k2k3都需要独立设定,共24Byte
byte[] key = "111111112222222211111111".getBytes();
byte[] data = {'a','v','d','e','4','b',0,0};//不足8Byte,则填充0
byte[] iv = {0,0,0,0,0,0,0,0};//初始向量
try{
SecretKeySpec kSpec = new SecretKeySpec(key, "DESede");
IvParameterSpec ivSpec = new IvParameterSpec(iv);
Cipher cipher = Cipher.getInstance("DESede/CBC/NoPadding");
cipher.init(Cipher.ENCRYPT_MODE, kSpec, ivSpec);
byte[] encrypt = cipher.doFinal(data);
System.out.println(DatatypeConverter.printHexBinary(encrypt));
cipher.init(Cipher.DECRYPT_MODE, kSpec, ivSpec);
byte[] decrypt = cipher.doFinal(encrypt);
System.out.println(new String(decrypt));
} catch (Exception e) {
e.printStackTrace();
}
} }
java进行3DES加解密的更多相关文章
- java 与 c# 3des 加解密
java 与 c# 3des 加解密 主要差异如下: 1. 对于待加密解密的数据,各自的填充模式不一样 C#的模式有:ANSIX923.ISO10126.None.PKCS7.Zero,而Jav ...
- PHP版3DES加解密类
<?php /** * * PHP版3DES加解密类 * * 可与java的3DES(DESede)加密方式兼容 * * @Author:蓝凤(ilanfeng.com) * * @versio ...
- 3DES加解密【示例】
代码 /** * 3DES加解密 */ public class DESedeUtils { private static final String ALGORITHM_MD5 = &qu ...
- 3DES 加解密
using System; using System.IO; using System.Security.Cryptography; using System.Text; namespace Comm ...
- 一个java的DES加解密类转换成C#
原文:一个java的DES加解密类转换成C# 一个java的des加密解密代码如下: //package com.visionsky.util; import java.security.*; //i ...
- java安全与加解密
1 安全 安全性相关内容分为认证.授权和审计(发现安全问题时可以查看相关历史记录) 用户认证 java API表示主体的是javax.security.auth.Subject类型,表示用户身份标识的 ...
- 3DES加解密 C语言
3DES(或称为Triple DES),它相当于是对每个数据块应用三次DES加密算法.3*8字节密钥. 设Ek()和Dk()代表DES算法的加密和解密过程,K代表DES算法使用的密钥,P代表明文,C代 ...
- 【转】 Java 进行 RSA 加解密时不得不考虑到的那些事儿
[转] Java 进行 RSA 加解密时不得不考虑到的那些事儿 1. 加密的系统不要具备解密的功能,否则 RSA 可能不太合适 公钥加密,私钥解密.加密的系统和解密的系统分开部署,加密的系统不应该同时 ...
- 3DES加解密类
using System; using System.IO; using System.Security.Cryptography; using System.Text; namespace GT.C ...
随机推荐
- tomcat中的类加载机制
Tomcat中的类加载机制符合JVM推荐的双亲委派模型,关于JVM的类加载机制不多说,网上很多资料. 1. Tomcat类加载器过程. tomcat启动初始化阶段创建几个类加载器: private v ...
- 使用fckeditor上传多张图片
流程: 1.使用fck上传图片到后台 2.后台上传图片到服务器端 3.服务器端返回上传信息 1.jsp页面 <script type="text/javascript"> ...
- Windows消息循环
首先理解一句话:“Windows”向应用程序发送了一条消息.这里是指Windows调用了该程序内部的一个函数. 当UpdateWindow被调用后,新建的窗口在屏幕便完全可见了.此时,Windows会 ...
- dedecms 5.7sp2在用type标签时出现调用无效问题
{dede:type typeid='1'}栏目{/dede:type} 无效 和 {dede:type typeid='1'}[field:typename/]{/dede:type} 有效 ...
- Django1.0和2.0中的rest_framework的序列化组件之超链接字段的处理
大家看到这个标题是不是有点懵逼,其实我就是想要一个这样的效果 比如我get一条书籍的数据,在一对多的字段中我们显示一个url,看起来是不是很绚! 下面我们就来实现这么一个东西 首先我们一对多字段中的一 ...
- jmeter操作数据库,分布式,在Linux上运行
jmeter操作数据库: 1.在测试计划中导入数据库jar包 2.添加链接数据库信息 3.mysql:jdc:mysql://192.168.1.116:3307/bugfree?allowMulti ...
- Redis 中 redis.conf配置详细解析
########################################### 基本配置 ##################################### # 端口 port 666 ...
- MySQL 中的数据类型介绍(转)
据我统计,MySQL支持39种(按可使用的类型字段统计,即同义词也作多个)数据类型.下面的介绍可能在非常古老的mysql版本中不适用. 转载出处:http://blog.csdn.net/anxpp/ ...
- (二)创建ROS工作空间
ROS 教程中涉及的和编写的所有 ROS 代码需要有一个地方存放它,这个地方叫做工作空间.可以说,这个工作空间应该是一个大的集合.当我们要编译程序的时候,我们是对整个工作空间进行编译的. 这个工作空 ...
- Bundle Adjustment---即最小化重投影误差(高翔slam---第七讲)
一.历史由来 Adjustment computation最早是由geodesy的人搞出来的.19世纪中期的时候,geodetics的学者就开始研究large scale triangulations ...