"
package com.company; import java.net.URLDecoder; import java.net.URLEncoder; import java.util.Arrays; import javax.crypto.Cipher; import javax.crypto.spec.DESKeySpec; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec;
public class AES256Util {
private static final byte[] RAW = {50, -115, -81, -50, -32, 55, -120, 112, 4, -98, -78, -8, 5, 56, -46, -19};
// 加密
public static String encrypt(String s) throws Exception {
byte[] raw = Arrays.copyOf(RAW, 16);
SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
IvParameterSpec iv = new IvParameterSpec(raw);
cipher.init(Cipher.ENCRYPT_MODE, skeySpec, iv);
byte[] encrypted = cipher.doFinal(s.getBytes("UTF-8"));
return URLEncoder.encode(new String(encrypted,"ISO-8859-1"), "ISO-8859-1");
}
// 解密
public static String decrypt(String s) throws Exception {
byte[] raw = Arrays.copyOf(RAW, 16);
SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
IvParameterSpec iv = new IvParameterSpec(raw);
cipher.init(Cipher.DECRYPT_MODE, skeySpec, iv);
byte[] encrypted = URLDecoder.decode(s, "ISO-8859-1").getBytes("ISO-8859-1");
byte[] original = cipher.doFinal(encrypted);
String originalString = new String(original, "UTF-8");
return originalString;
}
public static void main(String args[]) throws Exception {
String msg = AES256Util.encrypt("我只是个测试!");
System.out.println(msg);
System.out.println(AES256Util.decrypt(msg));
}
}
"
"
你给你一个结果,比如加密 我只是个测试! 密文 是什么? 多加密几个。
提供,明文 和 密文,然后用php实现的时候 才知道 明文 加密后 密文 对不对呀。
######http://www.thinkphp.cn/topic/...
看看这个写的挺多的 关于aes加密
"版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。