我们经常说密码明文、KEY不要写在配置文件中,以及不要上传到GIT,但是有时候可能真的一不小心就写了,一不小心就传了。
已知有一个很成熟的库 jasypt-spring-boot-starter 可以实现帮我们自动解密配置文件中的加密配置。 但是它好像不支持 SM4 算法,也没办法接入我们自己的加解密方案,特别是有专用加解密设备、密码机的场景。
在此提供一个 EnvironmentPostProcessor 的实现,用来稍微改改代码,就能接入自有的一套加解密方案。
我们经常说密码明文、KEY不要写在配置文件中,以及不要上传到GIT,但是有时候可能真的一不小心就写了,一不小心就传了。
已知有一个很成熟的库 jasypt-spring-boot-starter 可以实现帮我们自动解密配置文件中的加密配置。 但是它好像不支持 SM4 算法,也没办法接入我们自己的加解密方案,特别是有专用加解密设备、密码机的场景。
在此提供一个 EnvironmentPostProcessor 的实现,用来稍微改改代码,就能接入自有的一套加解密方案。
有时候需要对在项目中临时使用 SM4 加解密计算一些东西,但是又不想启动程序运行工具,或者不想打开在线工具网页,或者只能在命令行终端等场景使用。如果用Java的话,有可能还需要提前编译好。下面提供一个使用 Bun 运行的脚本。
工具使用说明:
1 | SM4 国密算法工具 — 密钥生成 / 加解密 |
有时候需要对在项目中临时使用 SM4 加解密计算一些东西,但是又不想启动程序运行工具,或者不想打开在线工具网页,或者只能在命令行终端等场景使用。
工具使用说明:
1 | SM4 国密算法工具 — 密钥生成 / 加解密 |
有时候我们在使用 Gradle 来开发项目的时候,遇到要把项目整体离线迁移和与其他正常 Maven 项目共用依赖的场景,此时项目会有很多的jar文件和依赖信息,一个个的迁移很麻烦,官方也没有什么很方便的迁移方案,因此写了一个脚本来完成对 Gradle 缓存依赖转换成 Maven 仓库结构。
脚本使用说明
1 | 将 Gradle 本地缓存中的依赖复制到 Maven 本地仓库目录,并自动从远程仓库补充缺失的元数据文件(POM、module、jar)。 |
PostgreSQL 18 已经出来挺久了,最近才抽空开始升级一下,今年升级又又又踩坑了。
这次从 postgres 17 升级到 postgres 18 又搞了一天,去年的教程,有用,但是还是遇到一些新的问题。
我们需要起3个容器,一个用于旧版的数据库,一个用于新版的数据库,一个用于迁移。
查看更多 >>rustup toolchain install nightlyrustup default nightlyrust-src 组件 rustup component add rust-src --toolchain nightly-x86_64-pc-windows-msvchttps://github.com/PLC-lang/llvm-package-windows/releases/tag/v14.0.6 解压后,设置 LIBCLANG_PATH 环境变量指向 $LLVM_PATH\bin 路径rustup target add x86_64-win7-windows-msvccargo build --release -Z build-std --target x86_64-win7-windows-msvc 打包编译其他命令
rustc --print=target-listrustup target list之前从 postgres 15 升级到 postgres 16 搞了好久,但是没有把操作记录下来。
这次从 postgres 16 升级到 postgres 17 又搞了半天,学乖了,这次顺便把操作过程记录下来。
我们需要起3个容器,一个用于旧版的数据库,一个用于新版的数据库,一个用于迁移。
查看更多 >>昨天我在开发后台管理系统的时候,想开发一个缓存清理功能,2个接口,一个接口获取缓存信息,一个接口清空缓存,用的也是 Caffeine 做缓存。
一开始写的时候没想到要加入监控数据,但是在 debug 的时候发现有个 com.github.benmanes.caffeine.cache.Cache.stats() 方法可以获取缓存监控信息,然后就高高兴兴的加入进去了,接口功能都写好后,发现我得到的监控统计数据都是0,然后就 debug 看看为什么为0。

很久之前的代码了,当时在一些小地方用到,也没有用到具体的项目中,零零散散的放着,不知道该归类到什么地方,现在直接写到文章里面,给自己做一个留档。
有 TypeScript 和 Java 两个版本,Java 版本其实也是参考了 JavaScript 版本转换过来的。
代码基本上都是抄的,但是太久了,已经不知道抄的是谁的了,当时也没有具体的注释代码来源,现在也懒得去溯源了。Java 版本至少是2017年或更以前的时候抄出来的。
查看更多 >>tag:
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent:
meta: false
pages: false
posts:
title: true
date: true
path: true
text: false
raw: false
content: false
slug: false
updated: false
comments: false
link: false
permalink: false
excerpt: false
categories: false
tags: true