开发者社区> 游客h3d5hgiido5wq> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Java使用Cipher.getInstance(“AES/ECB/PKCS5Padding“);加解密算法工具类实现

简介: Java使用Cipher.getInstance(“AES/ECB/PKCS5Padding“);加解密算法工具类实现
+关注继续查看

Java使用Cipher.getInstance(“AES/ECB/PKCS5Padding“);加解密算法工具类实现

Cipher.getInstance("AES/ECB/PKCS5Padding");加解密算法

public class CipherUtils {
    /**
  * 密钥算法
  */
    private static final String ALGORITHM = "AES";
    /**
  * 加解密算法/工作模式/填充方式
  */
    private static final String ALGORITHM_STR = "AES/ECB/PKCS5Padding";
    /**
  * SecretKeySpec类是KeySpec接口的实现类,用于构建秘密密钥规范
  */
    private SecretKeySpec key;
    public CipherUtils(String hexKey) {
  key = new SecretKeySpec(hexKey.getBytes(), ALGORITHM);
    }
    /**
  * AES加密
  * 
  * @param data
  * @return
  */
    public String encryptData(String data) {
  try {
    Cipher cipher = Cipher.getInstance(ALGORITHM_STR); // 创建密码器
    cipher.init(Cipher.ENCRYPT_MODE, key);// 初始化
    return new BASE64Encoder().encode(cipher.doFinal(data.getBytes("utf-8")));
  } catch (Exception e) {
    e.printStackTrace();
    return null;
  }
    }
    /**
  * AES解密
  * 
  * @param data
  * @return
  */
    public String decryptData(String data) {
  try {
    Cipher cipher = Cipher.getInstance(ALGORITHM_STR);
    cipher.init(Cipher.DECRYPT_MODE, key);
    return new String(cipher.doFinal(new BASE64Decoder().decodeBuffer(data)), "utf-8");
  } catch (Exception e) {
    e.printStackTrace();
    return null;
  }
    }
}

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
编写算法求给定结点在二叉排序树中所在的层数(Java语言)
编写算法求给定结点在二叉排序树中所在的层数(Java语言)
0 0
Floyd(弗洛伊德)算法求解每对顶点之间的距离(Java语言)
Floyd(弗洛伊德)算法求解每对顶点之间的距离(Java语言)
0 0
利用Dijkstra算法求顶点v1到其他各顶点的最短路径Java实现
利用Dijkstra算法求顶点v1到其他各顶点的最短路径Java实现
0 0
Java利用迪克斯特拉(Dijkstra)算法求拓扑关系最短路径
Java利用迪克斯特拉(Dijkstra)算法求拓扑关系最短路径
0 0
Java计算四边形中心点和两条线段交点算法
Java计算四边形中心点和两条线段交点算法
0 0
【算法技术专题】如何用Java实现一致性 hash 算法( consistent hashing )(上)
【算法技术专题】如何用Java实现一致性 hash 算法( consistent hashing )(上)
0 0
删除有序数组中的重复项(java,算法,双指针)
删除有序数组中的重复项(java,算法,双指针)
0 0
最大交换(java,算法,贪心)
最大交换(java,算法,贪心)
0 0
.雇佣 K 名工人的最低成本(java,算法)
.雇佣 K 名工人的最低成本(java,算法)
0 0
修剪二叉搜索树(java,算法(二叉树))
修剪二叉搜索树(java,算法(二叉树))
0 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
网易云音乐音视频算法处理的 Serverless 探索之路
立即下载
阿里技术参考图册-算法篇
立即下载
阿里千亿特征深度学习算法XNN实践
立即下载