栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

AES-128-CBC加解密/openssl

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

AES-128-CBC加解密/openssl

针对php的AES-128-CBC加解密代码,需要使用JAVA解密。

1. php加解密

//加密
$result = openssl_encrypt($data, "AES-128-CBC", $aesKey, 0, $aesIv);
//解密
$result = openssl_decrypt($data, "AES-128-CBC", $aesKey, 0, $aesIv);

需要注意$options变量的不同。
加密过程中的$options=1, 意味着使用OPENSSL_RAW_DATA。
解密过程中的$options=1, 意味着使用OPENSSL_RAW_DATA。$options=0,意味着使用base64_encoded文本。此外,$aesKey和$aesIv要求16位长度,超过限制长度,截取前16位。

2. java解密

    public String aesDecrypt(String data, String aesKey, String aesIv) throws Exception {
        Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
        cipher.init(Cipher.DECRYPT_MODE, new SecretKeySpec(aesKey.substring(0, 16).getBytes(), ALGORITHM),
                new IvParameterSpec(aesIv.getBytes()));
        byte[] plainText = base64.getDecoder().decode(base64.getDecoder().decode(data));
        byte[] plainBytes = cipher.doFinal(plainText);
        return new String(plainBytes);
    }

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/708497.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号