求助:java aes加密的问题

问题描述

按照要求加密,我加密后的与对方的不一致privatestaticStringaesEncode(Stringjson)throwsException{Ciphercipher=Cipher.getInstance("AES/CBC/PKCS5Padding");SecretKeySpecskey=newSecretKeySpec("1234567890123456","AES");cipher.init(Cipher.ENCRYPT_MODE,skey,newIvParameterSpec(newbyte[16]));byte[]encrypt=cipher.doFinal(json.getBytes());Stringstr=SuperOneBase64.encode(newString(encrypt));returnstr;}publicstaticvoidmain(String[]a)throwsException{System.out.println(aesEncode("abcdefghigklmnopqrstuvwxyz0123456789"));}

解决方案

本帖最后由 weiqiang1314 于 2015-03-06 16:49:01 编辑
解决方案二:
加密要求:加密模式:AES/CBC/PKCS5Padding加密初始化向量:长度为16的空字节数组测试用密钥:1234567890123456加密样例如下原文:abcdefghigklmnopqrstuvwxyz0123456789加密后:8Z3dZzqn05FmiuBLowExK0CAbs4TY2GorC2dDPVlsn/tP+VuJGePqIMv1uSaVErr

时间: 2024-12-21 14:06:06

求助:java aes加密的问题的相关文章

Java aes加密C#解密的取巧方法

项目开发过程中遇到一个棘手的问题:A系统使用java开发,通过AES加密数据,B系统使用C#开发,需要从A系统获取数据,但在AES解密的时候遇到麻烦.Java的代码和C#的代码无法互通. Java代码: /** * 加密 * * @param content 需要加密的内容 * @param password 加密密钥 * @return */ public static String encrypt(String content, String password) { try { //如下代码

JAVA中AES加密方法实例分析_java

本文实例讲述了JAVA中AES加密方法.分享给大家供大家参考.具体如下: java代码: KeyGenerator kg = KeyGenerator.getInstance("AES"); //获取密匙生成器 kg.init(256); //初始化 //DES算法必须是56位 //DESede算法可以是112位或168位 //AES算法可以是128.192.256位 SecretKey key = kg.generateKey(); //生成密匙,可用多种方法来保存密匙 加密: Ci

两种JavaScript的AES加密方式(可与Java相互加解密)_javascript技巧

由于JavaScript属于弱类型脚本语言,因此当其与强类型的后台语言进行数据交互时会产生各种问题,特别是加解密的操作.本人由于工作中遇到用js与Java进行相互加解密的问题,在网上查了很多资料及代码段,均无法解决.后总结多篇文档内容终于找到解决办法,现记录与此: 下面给大家介绍两种JavaScript的AES加密方式,具体详情如下所示: 第一种:加解密时需要秘钥(key)和秘钥偏移量(iv)的情况,在线验证地址:http://www.seacha.com/tools/aes.html //该方

c++ aes-C++编写AES加密文件的问题

问题描述 C++编写AES加密文件的问题 我的加密代码: CFile f1打开解密文件,并获取文件长度length ,根据length 设置处理缓冲区大小和处理的步数, var = new unsigned char [length]; N = length/16; 文件读取完成后,关闭文件 首先调用AES设置密钥函数 rij.set_key(k_bit,256); 然后循环解密 for(int j=0;j<N;j++) { rij.ecrypt(var,e_bit); 更新k_bit的内容,并

c#-用C#解密JAVA的AES加密字符串

问题描述 用C#解密JAVA的AES加密字符串 附JAVA的加密方法 public static String encrypt(String s, String token) { try { byte[] key = Hex.toBytes(token); return encryptBase64URLSafe(s, key); } catch (Exception e) { // e.printStackTrace(); return null; } } public static byte[

AES加密CBC模式兼容互通四种编程语言平台【PHP、Javascript、Java、C#】

原文:AES加密CBC模式兼容互通四种编程语言平台[PHP.Javascript.Java.C#] 由于本人小菜,开始对AES加密并不了解,在网络上花了比较多时间查阅资料整理: 先简单从百度找来介绍: 1     密码学中的高级加密标准(Advanced Encryption Standard,AES),又称高级加密标准Rijndael加密法, 2 是美国联邦政府采用的一种区块加密标准.这个标准用来替代原先的DES,已经被多方分析且广为全世界 3 所使用.经过五年的甄选流程,高级加密标准由美国国

AES加密改造 c#return 改成java

问题描述 AES加密改造 c#return 改成java /// /// 获取密钥 /// private static string Key { get { return @")O[NB]6,YF}+efcaj{+oESb9d8>Z'e9M"; } } 不懂c#上面这个方法改成java的咋改啊? 解决方案 一眼望去,字符串里也没有需要转义的特殊字符,所以上面这个对应java代码: private static String key = ")O[NB]6,YF}+efc

AES加密时抛出java.security.InvalidKeyException:&amp;#160;Illegal&amp;#160;key&amp;#160;size&amp;#160;or&amp;#160;def

原文:AES加密时抛出java.security.InvalidKeyException: Illegal key size or def  使用AES加密时,当密钥大于128时,代码会抛出 java.security.InvalidKeyException: Illegal key size or default parameters Illegal key size or default parameters是指密钥长度是受限制的,java运行时环境读到的是受限的policy文件.文件位于$

aes加密-java ssh关于配置文件加密的问题

问题描述 java ssh关于配置文件加密的问题 package com.imcc.breakdown.util.encrypt; import java.util.Properties; import org.hibernate.HibernateException; import org.hibernate.cfg.Environment; import org.hibernate.connection.DriverManagerConnectionProvider; import com.