`

JAVA执行LINUX命令加密内容以及MAC

    博客分类:
  • Java
阅读更多
最近有遇到一个问题就是接口放提供的接口密文为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加密运行class/jar/war(支持window/linux/Mac)

    java加密运行支持【spring+struts+mybatis+hibernate+mysql+oracle+sqlserver+postgresql+springMVC+springboot】 支持的项目:JavaWeb项目、Tomcat项目、SpringBoot项目、单独的Jar包项目、几乎所有的Java项目都...

    基于JAVA的简单的文件内容分加密解密(窗口化设计)

    10. **可移植性**:由于基于JAVA,这个程序可以在任何安装了JAVA环境的平台上运行,包括Windows、Linux和Mac OS等。 总之,这个基于JAVA的文件加密解密程序结合了基本的加密技术与用户友好的GUI设计,提供了一个...

    java 加密软件

    Java作为一种跨平台的编程语言,使得这类加密软件能够在多种操作系统上运行,如Windows、Mac OS和Linux等。 在Java中实现加密,通常会涉及到以下几个核心概念和技术: 1. **对称加密**:这是最基础的加密方法,如...

    基于JAVA的IDS加密器

    【JAVA】是广泛使用的跨平台编程语言,其“一次编写,到处运行”的特性使得基于JAVA的IDS加密器可以在任何支持JAVA虚拟机(JVM)的系统上运行,包括Windows、Linux、Mac OS等操作系统。 【DES】(Data Encryption ...

    Q版java文件加密

    5. 多平台兼容:由于Java的跨平台特性,该工具应该能在Windows、Mac OS和Linux等操作系统上运行。 在使用"文件加密V1.3"这个版本之前,务必阅读提供的说明书,了解如何使用该工具、加密和解密的流程,以及如何妥善...

    MacBindingTool_程序启动绑定MAC地址_RSA加密MAC地址绑定_获取本机所有网卡MAC地址_

    本文将探讨如何通过"MacBindingTool"实现程序启动时的MAC地址绑定以及RSA加密技术在其中的应用。这个工具旨在确保程序只能在特定硬件环境下运行,增强软件的安全性和防止非法复制。 首先,我们要理解MAC地址绑定的...

    java生成Jar文件命令

    Jar文件不仅可以方便地分发和运行Java应用程序,还可以进行代码压缩、加密和签名,以增强软件的安全性。下面我们将详细探讨如何使用Java命令行工具来生成Jar文件。 首先,确保你已经安装了Java Development Kit ...

    简单的加密Gui程序

    Java是一种广泛使用的编程语言,具有跨平台的特性,因此这个加密GUI程序可以在多种操作系统上运行,如Windows、Mac OS或Linux。GUI库提供了丰富的组件,如按钮、文本框、菜单等,用于创建直观、友好的用户界面。 在...

    php调用java方法.pdf

    3. 运行JavaBridge:在JavaBridge.jar所在的目录下执行以下命令之一,来启动JavaBridge服务。如果是后台运行,可以添加`&`符号使进程在后台运行,并可以附带日志等级(如`3JavaBrifge.log&`)。 4. 检查服务启动...

    基于JAVA实现RSA文件加密软件的设计与实现附项目源码+文档说明

    Java的跨平台特性使得Java程序可以在任何支持Java虚拟机的操作系统上运行,包括Windows、Linux、Mac OS等。这使得Java程序的开发和部署变得更加灵活和方便。 Java程序的编写需要遵循面向对象的编程思想,即将程序...

    java连接IC卡 接口

    在Windows系统中,PC/SC服务已经集成,而在其他操作系统如Linux和Mac OS X中,可能需要额外安装相应的库。 3. **iC卡读写器程序**: iC卡读写器是连接IC卡与计算机的硬件设备,它提供了物理接触点与卡片通信,同时...

    SAP Java Jco3.0(win32,win64,mac64,linux64)

    JCo3.0支持多种操作系统平台,包括Windows(32位和64位)、Mac OS(64位)以及Linux(64位),确保了跨平台的兼容性和灵活性。 JCo3.0的核心功能是通过Remote Function Module (RFM)调用来访问SAP ABAP系统。RFMs是...

    VNC服务端 java客户端

    由于Java的跨平台特性,VNC Java客户端可以在任何安装了Java运行环境的设备上运行,无论是Windows、Mac还是Linux。Java客户端通过实现VNC协议,与VNC服务端建立连接,实现远程桌面的显示和操作。Java客户端可能包含...

    Java 浏览器 Java浏览器

    由于Java的跨平台特性,这种浏览器理论上可以在任何支持Java虚拟机(JVM)的设备上运行,这包括Windows、Mac OS X、Linux等操作系统。 首先,我们要理解Java在浏览器开发中的核心角色。Java可以用来实现浏览器的...

    基于java实现Misty1算法的加密软件(JAVA)的实现附项目源码+文档说明

    Java的跨平台特性使得Java程序可以在任何支持Java虚拟机的操作系统上运行,包括Windows、Linux、Mac OS等。这使得Java程序的开发和部署变得更加灵活和方便。 Java程序的编写需要遵循面向对象的编程思想,即将程序...

    java FeiQ[飞秋][飞鸽][支持windows and linux] (含源码)

    Java FeiQ是一款基于Java开发的局域网通信软件,其设计目的是为了实现类似飞秋、飞鸽这样的即时通讯功能,同时支持Windows和Linux操作系统。这个软件的核心特性包括局域网内的聊天、文件共享以及执行远程命令,为...

    基于Misty1算法的加密软件(JAVA)的实现

    这个加密软件的实现是使用JAVA编程语言编写的,使得它可以在多种平台上运行,包括但不限于Windows、Linux和Mac OS。下面将详细介绍Misty1算法以及在JAVA中的实现。 1. **Misty1算法概述** Misty1算法是一种迭代型...

    精品软件工具--加密货币监控悬浮窗口软件工具(支持全Windows、MAC、Linux).zip

    3. **跨平台支持**:兼容Windows、Mac和Linux,这意味着软件采用了跨平台的开发技术,如Java、Python或Electron等,确保不同操作系统用户都能使用。 4. **用户友好**:通过悬浮窗口的方式,减少了用户频繁切换应用...

Global site tag (gtag.js) - Google Analytics