AES加密/解密

注意:base64编码默认一行76个字符,超过会换行,如果他人解密失败可能由于两边base64编码设置不同

ECB模式,不需要偏移量

// 加密
public static String encode(String content, String key) throws Exception {
    String enresult = "";
    SecretKeySpec skey = new SecretKeySpec(key.getBytes(), "AES");
    Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
    cipher.init(Cipher.ENCRYPT_MODE, skey);
    byte[] byteContent = content.getBytes("UTF-8");
    byte[] crypted = cipher.doFinal(byteContent);
    enresult = new BASE64Encoder().encode(crypted);
    return enresult;
}
// 解密
public static String decrypt(String content, String key) throws Exception {
    String decodeString = "";
    SecretKeySpec skey = new SecretKeySpec(key.getBytes(), "AES");
    Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
    cipher.init(Cipher.DECRYPT_MODE, skey);
    byte[] output = cipher.doFinal(new BASE64Decoder().decodeBuffer(content));
    decodeString = new String(output, "UTF-8");
    return decodeString;
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容