java使用AES256解密
2014-04-23 14:17
155 查看
网上关于java用AES加密解密的文章有很多,我这里只用到解密(加密是服务器那边做^_^),所以更简洁一些:
这里有一点要注意,网上都要添加一个类似bcprov-jdk的库和两个policy文件,那是加密时候用的,解密不需要他们。
还有一点注意,一般服务器返回来的加密后数据都是要Base64编码的(否则容易丢失数据,抛出异常:javax.crypto.IllegalBlockSizeException: last block incomplete in decryption)。所以要用Base64解码。
public class AES256Utils { private static final String KEY = "xxxx";//从服务器要的密钥 public static final String CIPHER_ALGORITHM = "AES/ECB/PKCS7Padding"; /** * 解密 * @param content * 待解密内容 * @return */ public static byte[] decrypt(byte[] data) throws Exception { Key k = toKey(KEY.getBytes()); Cipher cipher = Cipher.getInstance(CIPHER_ALGORITHM); cipher.init(Cipher.DECRYPT_MODE, k); return cipher.doFinal(data); } private static Key toKey(byte[] key) throws Exception { SecretKey secretKey = new SecretKeySpec(key, "AES"); return secretKey; } }
这里有一点要注意,网上都要添加一个类似bcprov-jdk的库和两个policy文件,那是加密时候用的,解密不需要他们。
还有一点注意,一般服务器返回来的加密后数据都是要Base64编码的(否则容易丢失数据,抛出异常:javax.crypto.IllegalBlockSizeException: last block incomplete in decryption)。所以要用Base64解码。
相关文章推荐
- Javaweb-------mybatis+springmvc关于实体类使用注解的一个问题
- java 中json数据与java对象相互转化的使用
- java 将应用程序打成可执行的JAR包,然后使用批处理方式运行
- 求助!! android 上使用mina 出现java.net.SocketException: Too many open files
- 11级_Java_曹建波5.07 字体和颜色的设置&常用AWT组件的使用
- [1].Spark 学习笔记 使用java ---word count
- 了解和使用Java中的注解
- Java学习笔记36:Java log4j 基本配置和使用
- Java四种线程池的使用
- 使用Java高速实现进度条
- JAVA中的List的使用
- java中抽象类中构造函数使用
- java定时器的使用(Timer)
- java高分局之jstat命令使用
- java控制台输入类以及使用方法
- 使用javaservice 将jboss 注册为服务
- java开发系统内核:像Linux一样使用中断实现内核API
- java1.5新特性 静态导入 及如何在eclipse中方便使用
- Java使用POI导出excel(上)——基本操作
- java使用ITEXT打印PDF