1. 首页
  2. 技术分享

JFinal使用技巧-AesKit加密解密

JF里面自带的 AesKit 工具,可能有的社友不熟悉怎么用, 这里写个例子,直接上石马~
 

import com.jfinal.kit.AesKit;
import com.jfinal.kit.Base64Kit;
 
import java.util.Scanner;
 
public class MyAesKit {
 
    public static void main(String[] args) {
        System.out.println("请输入需加密内容(回车键确认):");
        Scanner scan = new Scanner(System.in);
        String content = scan.nextLine();
        scan.close();
 
        //加密
        String encode = encode(content);
 
        //解密
        String contentP = decrypt(encode);
 
        System.out.println("———————————————加密内容—————————————————");
        System.out.println("原文:");
        System.out.println(content);
        System.out.println("密文:");
        System.out.println(encode);
 
        System.out.println("———————————————解密内容—————————————————");
        System.out.println("解密还原内容:");
        System.out.println(contentP);
    }
 
    public static String decrypt(String encode) {
        if (encode == null || encode.length() < 33) return null;
        //解密 (解析字符串, KEY)
        return AesKit.decryptToStr(Base64Kit.decode(encode.substring(32)), encode.substring(0, 32));
    }
 
    public static String encode(String content) {
        String aesKey = AesKit.genAesKey();
        //转为字符串方便存储在配置文件中(加密)
        return aesKey.concat(Base64Kit.encode(AesKit.encrypt(content, aesKey)));
    }
 
}

可以配合PropKit使用,也可以配合其他字符串单操作

PropKit https://www.jfinal.com/doc/2-9

工具一起使用, 读取到密文,然后再调用一下解密即可得到原文。比如:

String contentP = MyAesKit.decrypt(PropKit.get("jdbcUrl"));

开发使用时候, 直接 执行main方法。

运维在服务器上临时使用的时候,建个.sh 文件快捷调用一下就可以了:
myAesKit.sh

#!/bin/bash
MAIN_CLASS=MyAesKit
 
# 生成 class path 值
APP_BASE_PATH=$(cd `dirname $0`; pwd)
CP=${APP_BASE_PATH}/config:${APP_BASE_PATH}/lib/*
 
# 运行为后台进程,并在控制台输出信息
java -Xverify:none ${JAVA_OPTS} -cp ${CP} ${MAIN_CLASS}

cd 到项目目录, 然后执行 ./myAesKit.sh
https://www.jfinal.com/doc/1-3


有用就点个赞~

 

发表评论

评论列表(0条)