binq2000 2022-11-01 00:02 采纳率: 16.7%
浏览 10
已结题

PHP8 实现 AES CBC PKCS5Padding 加密的问题

对方接口需要数据加密,java代码如下:

public class AESUtil {
    public final static String CHART_DEFAULT="UTF-8" ;
    private static String IVRANDOM = "0123456789ABEDEF";
    public static String enAES(String security,String key){
        try {
            byte[] content = security.getBytes(CHART_DEFAULT);
            byte[] aeskeys = key.getBytes(CHART_DEFAULT);
            Cipher  cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
            IvParameterSpec sp= new IvParameterSpec(IVRANDOM.getBytes(CHART_DEFAULT));
            SecretKeySpec spec = new SecretKeySpec(aeskeys,"AES");
            cipher.init(Cipher.ENCRYPT_MODE, spec,sp);
            byte[] context =   cipher.doFinal(content);
            return Base64.encodeBase64String(context);
        } catch (Exception e){
        }
        return null;
    }
   public static void main(String[] args) {
        String code = enAES("{\"text\":\"1234\"}","123456781234567812345678");
        System.out.println("加密后的密文:"+code);
    }
}

php 里用openssl_encrypt 试了很多种都不行,对应的php应该怎么写呢,帮帮忙,谢谢!

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-11-01 02:31
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月1日
  • 已采纳回答 11月1日
  • 修改了问题 11月1日
  • 修改了问题 11月1日
  • 展开全部

悬赏问题

  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd