最近有遇到一个问题就是接口放提供的接口密文为PHP的sha256sum加密的内容
在网上找了半天没找到java相应的加密方式
最后迫不得已使用程序执行linux命令来加密
echo -n '123456bzGI9IZAaheT8LtAvhlYNnpDgwuy4hvw' | sha256sum | xxd -r -p | base64 -w0
java程序为:
public static String getSHA256Value(String password){
String result = "";
InputStream in = null;
try {
//Linux
Process pro = Runtime.getRuntime().exec(new String[]{"/bin/sh","-c","echo -n '" + password + "' | sha256sum | xxd -r -p | base64 -w0"});
pro.waitFor();
in = pro.getInputStream();
BufferedReader read = new BufferedReader(new InputStreamReader(in));
result = read.readLine();
if(StringUtil.isEmpty(result)){
//Mac
pro = Runtime.getRuntime().exec(new String[]{"/bin/bash","-c","echo -n '" + password + "' | shasum -a 256 | xxd -r -p | base64 -b0"});
pro.waitFor();
in = pro.getInputStream();
read = new BufferedReader(new InputStreamReader(in));
result = read.readLine();
}
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
由于mac和linux有些不一样,所以执行的命令也稍微修改了下,如上
分享到:
相关推荐
java加密运行支持【spring+struts+mybatis+hibernate+mysql+oracle+sqlserver+postgresql+springMVC+springboot】 支持的项目:JavaWeb项目、Tomcat项目、SpringBoot项目、单独的Jar包项目、几乎所有的Java项目都...
Java的跨平台特性使得Java程序可以在任何支持Java虚拟机的操作系统上运行,包括Windows、Linux、Mac OS等。这使得Java程序的开发和部署变得更加灵活和方便。 Java程序的编写需要遵循面向对象的编程思想,即将程序...
Java的跨平台特性使得Java程序可以在任何支持Java虚拟机的操作系统上运行,包括Windows、Linux、Mac OS等。这使得Java程序的开发和部署变得更加灵活和方便。 Java程序的编写需要遵循面向对象的编程思想,即将程序...
Lazysodium是库上的完整Java(JNA)包装器,可为开发人员提供顺畅而轻松的加密体验。 特征 该库与Kotlin完全兼容。 您可以找到最新的功能列表。 快速开始 请查看以获取更全面的指南。 1.安装 无论您使用的是哪种...
该系统采用Java语言编写,具有良好的跨平台性,可以在Windows、Linux、Mac OS等多种操作系统上运行。同时,系统采用Applet技术,可以实现无插件、无需安装的在线聊天体验。项目源码完整,结构清晰,注释详细,方便...
JAVA加密解密算法中,有些PHP 是无法重新翻译并且实现。这个时候可以使用PHP 直接调用jar包 来实现相关加解密的操作! 适用操作系统 MAC LINUX
用Java开发的加密和解密应用程序。 该应用程序使用多种算法来加密和解密HTML源代码: 河豚 AES 茶 兔子 马克4 转义/逃生功能 除了加密和解密功能,该应用程序还返回网站的源代码。 用户可以使用FTP传输功能将加密的...
Stegsolve是在java平台上构建的,适用于Windows、Mac OS X和Linux操作系统,是一个具有图像分析和编解码工具的开源软件。它提供了各种图像处理和隐写术技术,可以帮助用户发现和提取隐藏在图像中的信息。除此之外,...
源代码加密,透明加密,外发打不开,内网可以随便传送,支持java及c++,嵌入式,等各种源代码开发环境 支持全操作系统linux mac win ios 安卓
│ 任务003:Kali Linux 安装-持久加密USB安装、熟悉环境、熟悉BASH命令.mp4 │ 任务004:Kali Linux安装-熟悉环境.mp4 │ ├─第3章 工作环境优化 │ 任务005:网络配置、更新升级、安装软件包、浏览器插件.mp4 │...
AESTextCrypt是一个易于使用的开源工具,用于文本加密和解密。 主要用于电子邮件,可在需要保护文本以防窥视的地方使用。... AESTextCrypt用Java编写,因此可以在所有桌面平台(Windows,Mac和Linux)上运行。
快速开始下载最新* 确保您已安装Java(至少是JRE) 确保jar文件是可执行文件(在Linux / Mac OS上可能需要chmod +x ImSter-*.jar ) 运行jar文件(如果打开失败,请尝试java -jar ImSter-*.jar ) *出于兼容性考虑,...
Java JDBC 方式访问 加密后的 sqlite 数据库,支持window、 linux、mac多个平台
MxsDoc是基于Web的文件管理系统,支持权限管理、历史版本管理、Office预览/编辑、WPS预览/编辑、在线解压缩、文件分享、文件加密、远程存储、远程文件推送、秒传、断点续传、智能搜索、文件备注、本地自动备份、异地...
用户友好且精通的 Java ... 具有便携式模式的紧凑型跨平台程序,非常适合 USB 记忆棒、Linux、Mac 等。需要 Java JRE 1.8 或更高版本密码安全数据库库在项目 PWSLIB3 中可用。 有关许可/使用问题,请访问 Wiki 页面!
word源码java 介绍 这是一个局域网内粘贴板共享工具软件(公网需要对安全方面做处理,暂时未做) 功能清单 客户端能自动找到服务端 服务端可以设定密码 客户端和服务端通信加密 如何使用 1. 从源码安装 1.1. 编译代码 ...
在Windows(XP-10)/ Linux / Mac上创建加密文件档案的开源工具 官方主页和更多信息: : 有关下载软件包,二进制发行版,设置和安装程序,请访问: 加密套房 当前包括以下加密套件: 使用AES-256的基于密码的加密...
jphonelite是用于台式机(Windows,Linux,Mac)和Android的Java SIP VoIP软电话。 具有6条线路,包括传输,保留,会议(最多6条线路),g711 u / a,g722,g729a和视频(仅在Linux或Windows中支持视频,并且包括H...