加密:

java_path=$(source /opt/wildfly/bin/env.conf && echo $JAVA_HOME)&&$java_path/bin/java -cp /opt/wildfly/modules/system/layers/base/org/picketbox/main/picketbox-4.0..Beta1.jar:/opt/wildfly/modules/system/layers/base/org/jboss/logging/main/jboss-logging-3.1..GA.jar org.picketbox.datasource.security.SecureIdentityLoginModule 'password'

解密:

解密需要额外编辑jar包

1、首先使用eclipse,或其他java的IDE软件,新建一个java工程

2、创建包路径org.picketbox.datasource.security

3、在该路径下创建类文件SecureIdentityLoginModule.java

package org.picketbox.datasource.security;

public class SecureIdentityLoginModule {
private static String encode(String secret) {
return secret;
} private static char[] decode(String secret) {
return new char[] { '0', '1', '2', '3', '4', '5' };
}
}

4、依然在这个包路径下创建类文件PasswordDecoder.java

package org.picketbox.datasource.security;
import java.lang.reflect.Method; public class PasswordDecoder {
public static void main(String args[]) throws Exception {
Class<SecureIdentityLoginModule> cla = SecureIdentityLoginModule.class;
Method m = cla.getDeclaredMethod("decode", String.class);
m.setAccessible(true);
Object obj = m.invoke(null, args[0]);
char[] chars = (char[]) obj;
System.out.println(new String(chars));
}
}

5、然后编译PasswordDecoder.java这个类文件,编译成功后会生成相应的.class文件。

6、找到/opt/wildfly/modules/system/layers/base/org/picketbox/main/picketbox-4.0.21.Beta1.jar这个jar包,使用压缩软件打开,找到org\picketbox\datasource\security\这个路径,将编译得到的PasswordDecoder.class文件放到该路径下

7、然后执行下面的命令就可以得到明文密码

java_path=$(source /opt/wildfly/bin/env.conf && echo $JAVA_HOME)&&$java_path/bin/java -classpath /opt/wildfly/bin/picketbox-4.0..Beta1.jar:/opt/wildfly/modules/system/layers/base/org/jboss/logging/main/jboss-logging-3.1..GA.jar org.picketbox.datasource.security.PasswordDecoder 密文

jboss/wildfly安全域的密码加密和解密的更多相关文章

  1. C#:使用MD5对用户密码加密与解密

    C#中常涉及到对用户密码的加密于解密的算法,其中使用MD5加密是最常见的的实现方式.本文总结了通用的算法并结合了自己的一点小经验,分享给大家. 一.使用16位.32位.64位MD5方法对用户名加密 1 ...

  2. 转 C#:使用MD5对用户密码加密与解密

    C#中常涉及到对用户密码的加密于解密的算法,其中使用MD5加密是最常见的的实现方式.本文总结了通用的算法并结合了自己的一点小经验,分享给大家. 一.使用16位.32位.64位MD5方法对用户名加密 1 ...

  3. javascript 异或运算符实现简单的密码加密功能

    写在前面的 当我们需要在数据库中存储用户的密码时,当然是不能明文存储的. 我们就是介绍一下用^运算符来实现简单的密码加密以及解密功能 上代码 首先,回顾一下基础知识. String.fromCharc ...

  4. Spring Boot 配置 Security 密码加密

    依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spri ...

  5. 使用kettle转换中的JavaScript对密码进行加密和解密

    日常开发中,为了确保账号和密码的安全,时常要对密码进行加密和解密.然而kettle是怎么对密码进行加密和解密的呢? 下面的代码需要再转换中的JavaScript中运行. var encrypted_p ...

  6. java代码实现对excel加密、解密(设置或去除打开密码)

    使用jxcell组件来完成对excel加密.解密的功能. jxcell.jar[点击下载](此jar没有使用限制,你懂得) 具体代码如下: import java.io.IOException; im ...

  7. Hacker(21)----密码攻防之加密与解密基础

    密码对于用户而言并不陌生,它是一种用于保护重要信息和文件的工具,只有输入正确的密码才可查看文件和信息的具体内容.黑客为了获取这些信息,会采用各种方式来破解密码,因此用户不仅需要了解黑客破解密码的常用方 ...

  8. 凯撒密码加密解密--JAVA实现(基础)

    凯撒密码一种代换密码,据说凯撒是率先使用加密函的古代将领之一,因此这种加密方法被称为恺撒密码.凯撒密码的基本思想是:通过把字母移动一定的位数来实现加密和解密.明文中的所有字母都在字母表上向后(或向前) ...

  9. C# 实现对PPT文档加密、解密以及重置密码的操作

    工作中我们会使用到各种各样的文档,其中,PPT起着不可或缺的作用.一份PPT文档里可能包含重要商业计划.企业运营资料或者公司管理资料等.因此,在竞争环境里,企业重要资料的保密工作就显得尤为重要,而对于 ...

随机推荐

  1. javaEE复习重点个人总结

    最近在学院或集队的群里看见最多的就是求javaEE大作业了,那么突然有感而发,写点参考性的期末复习总结. 第一章JavaEE 概述: 1:两层体系应用体系结构 安全性低,部署困难,消耗系统资源 2 三 ...

  2. jvm运行时数据区之程序计数器

    什么是程序计数器? 程序计数器是一块 较小 的内存空间,它可以看做是当前线程所执行的字节码的 行号指示器 :在虚拟机的概念模型里(仅仅是概念模型,各种虚拟机可能会通过一些更高效的方式去实现),字节码解 ...

  3. 关于Jackson中JsonNode的取值asText()和textValue()区别

    在 比较高版本的Jackson 中, 包名为 com.fasterxml.jackson String jsonText="{\"name\":\"张三\&qu ...

  4. Linux shell变量详解

    Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言. Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个 ...

  5. Flask中before_request与after_request使用

    目录 1.前提,装饰器的弊端 2.before_request与after_request 2.1 before_request分析: 2.2 after_request分析: 3.before_re ...

  6. python 和 R 中的整数序列

    python 中的 range() 函数是很常用的,R  中相应的函数是 seq(), 其实,R 中的“ :”也能代替 python 中的 range() 函数. 1.生成升序整数序列 python: ...

  7. nginx访问jupyter

    现在jupyter已通过k8s安装完成,并通过nodeport暴露出来. 如果不能直接访问这个nodeport(像我在的公司)或是希望能组织好jupyter实例, 那应该如何调通呢? 这里包括两个技术 ...

  8. Python八大算法的实现,插入排序、希尔排序、冒泡排序、快速排序、直接选择排序、堆排序、归并排序、基数排序。

    Python八大算法的实现,插入排序.希尔排序.冒泡排序.快速排序.直接选择排序.堆排序.归并排序.基数排序. 1.插入排序 描述 插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得 ...

  9. Http请求头中 X-Requested-With

    String requestedWith = ((HttpServletRequest) request).getHeader("X-Requested-With"); 如果 re ...

  10. Pandas | 24 常用图形绘制

    基本绘图:绘图 Series和DataFrame上的这个功能只是使用matplotlib库的plot()方法的简单包装实现. import pandas as pd import numpy as n ...