php rtrim java,php 如何实现 java 的解密方式
会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 的解密方式相关推荐
- 【java】简单的文件加密解密方式
一.基础知识 1.异或加密解密方式(推荐) package com.test;import java.io.*;public class test1 {private static final int ...
- 广东java工资一般多少_广东java工资待遇,广东java工资一般多少,广东java工资底薪最低多少...
广东java工资待遇,广东java工资一般多少,广东java工资底薪最低多少 首页 > java > 广东java工资待遇 作者:镀金池 发布时间:2018-12-22 11:20 在 ...
- 解决Apache CXF 不支持传递java.sql.Timestamp和java.util.HashMap类型问题
在项目中使用Apache开源的Services Framework CXF来发布WebService,CXF能够很简洁与Spring Framework 集成在一起,在发布WebService的过程中 ...
- java web ubuntu_Ubuntu部署Java web项目
登录服务器和给服务器传输文件,使用的工具是Xshell Xftp Mysql 安装mysql 输入:sudo apt-get update 更新软件列表 输入: ...
- java反射最佳实践,java反射性能测试分析
java反射性能测试分析 java有别于其他编程语言而让我着迷的特性有很多,其中最喜欢的是接口设计,他让我们设计的东西具有美感.同样反射也是我比较喜欢的一个特性,他让程序自动运行,动态加载成为了可能, ...
- Maven 手动添加第三方依赖包及编译打包和java命令行编译JAVA文件并使用jar命令打包...
一,实例:新建了一个Maven项目,在eclipse中通过 build path –> configure path-.将依赖包添加到工程中后,eclipse不报错了.但是用Maven命令 mv ...
- Java常用命令及Java Dump
线程Dump,包含所有线程的运行状态.纯文本格式. 堆Dump,包含线程Dump,幵包含所有堆对象的状态.二进制格式. Java Dump方法 1.使用Java虚拟机制作Dump 指示虚拟机在发生内存 ...
- java基础入门传智播客 源码_Java-_2020年版Java零基础视频教程(Java 0基础,Java初学入门)魔鬼讲师老杜出品...
不会闲聊!!!不会扯淡!!!小UP只会分享与Java相关的学习资源 还记得那年带你Java入门的一声"吼"吗? B站目前播放量已经快到450多万播放量的Java零基础教程的创作者& ...
- Java笔记整理-02.Java基础语法
1,标识符 由英文字母.数字._(下划线)和$组成,长度不限.其中英文字母包含大写字母(A-Z)和小写字母(a-z),数字包含0到9. 标识符的第一个字符不能是数字(即标识符不能以数字开头). 标识符 ...
- java培训分享:java培训架构师学习线路图
本期java教程分享主要是讲解关于java培训架构师方面的内容,主要针对java架构师的学习线路图进行一个知识点的概括,下面来看看学习java架构师都需要了解哪些内容吧. java培训分享:java培 ...
最新文章
- webpack打开项目命令_配置webpack中dev.env.js、prod.env.js,解决不同命令下项目启动和打包到指定的环境...
- 1024 程序员节专题论坛来袭,权威解读 MindSpore、CANN 5.0 特性和 HCIA MDC 开发者认证...
- 美国燃油管道商认怂,俄罗斯黑客收到500万美元赎金!,民众为抢汽油大打出手...
- 微信一次发两个ajax请求,微信浏览器发送ajax请求执行多次解决方法
- python免费入门手册-python基础入门手册。。。。。。
- Java系列笔记(1) - Java 类加载与初始化
- linux内核全局变量重定位,关于可重定位文件中全局变量的一个重定位疑惑,借各位牛刀一用^...
- 使用jQuery清空file文件域的解决方案
- java 过滤xss脚本_Java Web应用程序的反跨站点脚本(XSS)过滤器
- 07-图6 旅游规划 (25 分)
- 阻止事件冒泡——商品编辑
- 国内首家!腾讯云密钥管理系统通过密码应用验证,积极探索行业标准边界
- 前端开发 页面跳转练习 0228未完成
- 大于2T硬盘通过UEFI启动+GPT分区表安装Server 2008 R2
- 【重难点】【事务 03】分布式事务
- 猜数字游戏python程序用函数guesssecret_python实现猜数字游戏
- 常喝酒的人,为什么会出现手抖的现象?
- 【PyQt】分析承载界面
- tif转双层pdf Java_TIF文件转双层PDF时 内存不足
- 阿里云个人网站备案流程
热门文章
- Pyecharts“可视化大屏“,带你重温 “2020东京奥运会“,不看直播尽知其事!
- 【jzoj5078】【GDOI2017第三轮模拟day2】【魔法咒语】【ac自动机】【矩阵快速幂】
- Python将网格off格式转换为ply格式
- vscode在控制台出现“无法初始化设备 PRN“情况的解决方法
- 工业相机与镜头基础知识总结笔记
- android 7和苹果手机,两年前的苹果7P,相当于什么级别的安卓机?别被卖家忽悠了...
- Topographic Laser Ranging and Scanning_Principles and Processing——第一章 1.7
- 数据结构课程设计——CET-6报名管理系统
- 区块链项目(algorand)开发过程全记录(二)
- 7-Zip压缩文件如何设置和清除密码?