会PHP。还不会Java,奈何文档只有Java 代码demo

public static String decode(String message, String privateKey) throws KsMerchantApiException {

try {

if (KsStringUtils.isBlank(message) || KsStringUtils.isBlank(privateKey)) {

throw new KsMerchantApiException("decode param is blank");

}

Cipher cipher = Cipher.getInstance(CIPHER_ALGORITHM);

byte[] key = Base64.decodeBase64(privateKey);

SecretKeySpec keySpec = new SecretKeySpec(key, KEY_ALGORITHM);

cipher.init(Cipher.DECRYPT_MODE, keySpec, new IvParameterSpec(new byte[16]));

return new String(cipher.doFinal(Base64.decodeBase64(message)), CHARSET);

} catch (Exception e) {

throw new KsMerchantApiException("decode message fail", e);

}

}

已经根据Java demo 写出了一个PHP版。只是拿实际参数怎么运行都是解析false

function decode($message, $privateKey)

{

// base64 反编码数据

$message = base64_decode($message);

// base64 反编码密钥

$key = base64_decode($privateKey);

// Iv向量我根据demo代码猜应该是反编码密钥后的前16位

$iv = substr($key, 0, 16);

// 只知道Java的加密是 采用AES加密。我PHP对应 aes-256-cbc? 不知道对不对

$result = openssl_decrypt($message, 'aes-256-cbc', $key, OPENSSL_RAW_DATA, $iv);

return $result;

}

可提供参数密钥,寻求相关大佬指教

补充文档地址: 文档地址

回答

已被蒙中加密方式AES-128-CBC 无向量,问题已解决

这是AES加解密,给你个解密的你参考下

private function AES_ecb128_decrypt_base64($cipher_text_base64,$key){

$cipher_text_dec = base64_decode($cipher_text_base64);

$cipher_text = mcrypt_decrypt(MCRYPT_RIJNDAEL_128,$key,$cipher_text_dec,MCRYPT_MODE_ECB);

return rtrim($cipher_text,"\0");

}

或者你搜下相关文章

也可以在线调试AES在线加解密

php rtrim java,php 如何实现 java 的解密方式相关推荐

  1. 【java】简单的文件加密解密方式

    一.基础知识 1.异或加密解密方式(推荐) package com.test;import java.io.*;public class test1 {private static final int ...

  2. 广东java工资一般多少_广东java工资待遇,广东java工资一般多少,广东java工资底薪最低多少...

    广东java工资待遇,广东java工资一般多少,广东java工资底薪最低多少 首页 > java > 广东java工资待遇 作者:镀金池   发布时间:2018-12-22 11:20 在 ...

  3. 解决Apache CXF 不支持传递java.sql.Timestamp和java.util.HashMap类型问题

    在项目中使用Apache开源的Services Framework CXF来发布WebService,CXF能够很简洁与Spring Framework 集成在一起,在发布WebService的过程中 ...

  4. java web ubuntu_Ubuntu部署Java web项目

    登录服务器和给服务器传输文件,使用的工具是Xshell Xftp Mysql 安装mysql 输入:sudo apt-get update                     更新软件列表 输入: ...

  5. java反射最佳实践,java反射性能测试分析

    java反射性能测试分析 java有别于其他编程语言而让我着迷的特性有很多,其中最喜欢的是接口设计,他让我们设计的东西具有美感.同样反射也是我比较喜欢的一个特性,他让程序自动运行,动态加载成为了可能, ...

  6. Maven 手动添加第三方依赖包及编译打包和java命令行编译JAVA文件并使用jar命令打包...

    一,实例:新建了一个Maven项目,在eclipse中通过 build path –> configure path-.将依赖包添加到工程中后,eclipse不报错了.但是用Maven命令 mv ...

  7. Java常用命令及Java Dump

    线程Dump,包含所有线程的运行状态.纯文本格式. 堆Dump,包含线程Dump,幵包含所有堆对象的状态.二进制格式. Java Dump方法 1.使用Java虚拟机制作Dump 指示虚拟机在发生内存 ...

  8. java基础入门传智播客 源码_Java-_2020年版Java零基础视频教程(Java 0基础,Java初学入门)魔鬼讲师老杜出品...

    不会闲聊!!!不会扯淡!!!小UP只会分享与Java相关的学习资源 还记得那年带你Java入门的一声"吼"吗? B站目前播放量已经快到450多万播放量的Java零基础教程的创作者& ...

  9. Java笔记整理-02.Java基础语法

    1,标识符 由英文字母.数字._(下划线)和$组成,长度不限.其中英文字母包含大写字母(A-Z)和小写字母(a-z),数字包含0到9. 标识符的第一个字符不能是数字(即标识符不能以数字开头). 标识符 ...

  10. java培训分享:java培训架构师学习线路图

    本期java教程分享主要是讲解关于java培训架构师方面的内容,主要针对java架构师的学习线路图进行一个知识点的概括,下面来看看学习java架构师都需要了解哪些内容吧. java培训分享:java培 ...

最新文章

  1. webpack打开项目命令_配置webpack中dev.env.js、prod.env.js,解决不同命令下项目启动和打包到指定的环境...
  2. 1024 程序员节专题论坛来袭,权威解读 MindSpore、CANN 5.0 特性和 HCIA MDC 开发者认证...
  3. 美国燃油管道商认怂,俄罗斯黑客收到500万美元赎金!,民众为抢汽油大打出手...
  4. 微信一次发两个ajax请求,微信浏览器发送ajax请求执行多次解决方法
  5. python免费入门手册-python基础入门手册。。。。。。
  6. Java系列笔记(1) - Java 类加载与初始化
  7. linux内核全局变量重定位,关于可重定位文件中全局变量的一个重定位疑惑,借各位牛刀一用^...
  8. 使用jQuery清空file文件域的解决方案
  9. java 过滤xss脚本_Java Web应用程序的反跨站点脚本(XSS)过滤器
  10. 07-图6 旅游规划 (25 分)
  11. 阻止事件冒泡——商品编辑
  12. 国内首家!腾讯云密钥管理系统通过密码应用验证,积极探索行业标准边界
  13. 前端开发 页面跳转练习 0228未完成
  14. 大于2T硬盘通过UEFI启动+GPT分区表安装Server 2008 R2
  15. 【重难点】【事务 03】分布式事务
  16. 猜数字游戏python程序用函数guesssecret_python实现猜数字游戏
  17. 常喝酒的人,为什么会出现手抖的现象?
  18. 【PyQt】分析承载界面
  19. tif转双层pdf Java_TIF文件转双层PDF时 内存不足
  20. 阿里云个人网站备案流程

热门文章

  1. Pyecharts“可视化大屏“,带你重温 “2020东京奥运会“,不看直播尽知其事!
  2. 【jzoj5078】【GDOI2017第三轮模拟day2】【魔法咒语】【ac自动机】【矩阵快速幂】
  3. Python将网格off格式转换为ply格式
  4. vscode在控制台出现“无法初始化设备 PRN“情况的解决方法
  5. 工业相机与镜头基础知识总结笔记
  6. android 7和苹果手机,两年前的苹果7P,相当于什么级别的安卓机?别被卖家忽悠了...
  7. Topographic Laser Ranging and Scanning_Principles and Processing——第一章 1.7
  8. 数据结构课程设计——CET-6报名管理系统
  9. 区块链项目(algorand)开发过程全记录(二)
  10. 7-Zip压缩文件如何设置和清除密码?