package com.eifesun.monitor.upload.uploader; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; public class AES { public static byte[] encrypt(String text, String password) { try { Cipher cipher = Cipher.getInstance("AES/CBC/NoPadding"); int blockSize = cipher.getBlockSize(); // padding byte data as 16 * N length byte[] dataBytes = text.getBytes("UTF-8"); int plaintextLength = dataBytes.length; if (plaintextLength % blockSize != 0) { plaintextLength = plaintextLength + (blockSize - (plaintextLength % blockSize)); } byte[] plaintext = new byte[plaintextLength]; System.arraycopy(dataBytes, 0, plaintext, 0, dataBytes.length); SecretKeySpec keyspec = new SecretKeySpec(password.getBytes("UTF-8"), "AES"); IvParameterSpec ivspec = new IvParameterSpec(password.getBytes("UTF-8")); cipher.init(Cipher.ENCRYPT_MODE, keyspec, ivspec); return cipher.doFinal(plaintext); // return new sun.misc.BASE64Encoder().encode(encrypted); } catch (Exception e) { e.printStackTrace(); return null; } } public static String decrypt(byte[] encryptedBytes, String password) { try { Cipher cipher = Cipher.getInstance("AES/CBC/NoPadding"); SecretKeySpec keyspec = new SecretKeySpec(password.getBytes(), "AES"); IvParameterSpec ivspec = new IvParameterSpec(password.getBytes("UTF-8")); cipher.init(Cipher.DECRYPT_MODE, keyspec, ivspec); byte[] original = cipher.doFinal(encryptedBytes); return new String(original, "UTF-8"); } catch (Exception e) { e.printStackTrace(); return null; } } }
相关推荐
本文就简单介绍如何通过JAVA实现AES加密: /** * 测试AES加密和解密 * @param args */ public static void main(String[] args) { /**数据初始化**/ String content = "http://www.mbaike.net"; String...
1.采用秘钥为16位长度的加密字符 2.加密算法为AES/ECB/PKCS5Padding 3.解决加解密乱码问题 4.完整的线上可运行代码及各方法及步骤注释 5.无任何插件,java环境直接运行
在工作中会经常遇到密码加密,URL传参要进行加密,在此我参照一个例子将用java实现的AES加解密程序用实例写出。JS实现AES-GCM加密,java实现AES-GCM解密
主要介绍了java使用Hex编码解码实现Aes加密解密功能,结合完整实例形式分析了Aes加密解密功能的定义与使用方法,需要的朋友可以参考下
java实现aes加解密
java代码-java使用AES加密解密 AES-128-ECB加密 ——学习参考资料:仅用于个人学习使用
压缩包里有两个工程,一个vc6.0一个myeclipse,本帖是修复贴,原帖地址c/c++ 与java互通 AES加密解密,算法ECB/PKCS5PADDING http://download.csdn.net/download/wangsonghiweed/4328267 -来自CSDN,有童鞋反映有...
c/c++与java互通 AES加密解密; 只使用基本char,数组运算实现加密算法;不依赖其它加密lib
java 基于AES实现对文件的加密 解密 有问题 www.willvc.com.cn 能联系到我
本案例使用springboot进行快速构建项目,AES进行对称加密及解密
Delphi实现AES加密和解密, 同Java加解密兼容
采用固定AES密钥加密,AES使用PKCS5规则进行补位,加密模式使用AES-ECB
Java AES128加密解密 示例源码(AES-ECB-PKCS7Padding)
AES加密解密算法的Java实现.doc
AES高级加密标准,在密码学中又称Rijndael加密法,是美国联邦政府采用的一种...本软件是用java语言开发,实现了AES算法对文件的加密和解密,并在界面上加了进度条,来提示用户加密解密的进度。如果不足之处,欢迎留言。
c/c++与java互通 AES加密解密; 只使用基本string,数组运算实现加密算法;不依赖其它加密lib
JAVA解决AES ECB 模式下加密解密;附加国内三方AES加密网站---http://tool.chacuo.net/cryptaes;如有用解决您工作问题,烦请点个赞
java aes128/256 对称加密解密,rsa对称加密解密验签实现,php java通用aes加密 支持任何形式的aes加密,文件,字符,字节等,内含php代码,可以与php平台实现aes加密,而且包含rsa非对称加密签名验签实现,都是对...
NULL 博文链接:https://kanpiaoxue.iteye.com/blog/2322523
public class AES { public static void main(String[] args) throws Exception { /* 加密用的Key 可以用26个字母和数字组成,最好不要用保留字符,虽然不会错,至于怎么裁决,个人看情况而定...