Skip to content

Releases: 2195517546/ObfuscationUtils

ObfuscationUtils v1.2.0 - 图片混淆工具库

Choose a tag to compare

@2195517546 2195517546 released this 31 Dec 02:43

概述

ObfuscationUtils v1.2 现已完全支持异步操作。本次更新为所有的图片处理功能添加了异步 API,使得该库能够更好地适配高并发场景、响应式编程框架和现代异步应用架构。

实现内容

1. 核心异步组件

1.1 ObfuscationExecutor - 线程池管理器

位置: com.uiloalxise.async.ObfuscationExecutor

功能:

  • 提供默认线程池(固定大小 = CPU核心数 × 2)
  • 支持自定义线程池
  • 线程安全的单例模式
  • 优雅关闭机制

主要方法:

ExecutorService getExecutor()                    // 获取默认线程池
void setExecutor(ExecutorService executor)       // 设置自定义线程池
ExecutorService createExecutor(int poolSize)     // 创建独立线程池
void shutdown()                                  // 优雅关闭
void shutdownNow()                              // 立即关闭

1.2 AsyncImageData - 异步图片操作

位置: com.uiloalxise.async.AsyncImageData

功能:

  • 异步加载图片(文件、流、字节数组、MultipartFile)
  • 异步保存图片
  • 异步格式转换(转字节数组、转InputStream)
  • 支持自定义线程池

主要方法:

CompletableFuture<ImageData> fromFileAsync(String filePath)
CompletableFuture<ImageData> fromInputStreamAsync(InputStream is)
CompletableFuture<ImageData> fromBytesAsync(byte[] bytes)
CompletableFuture<ImageData> fromMultipartFileAsync(Object file)
CompletableFuture<Void> saveToFileAsync(ImageData data, String path)
CompletableFuture<byte[]> toBytesAsync(ImageData data)
CompletableFuture<InputStream> toInputStreamAsync(ImageData data)

1.3 AsyncUtil - 异步混淆工具

位置: com.uiloalxise.async.AsyncUtil

功能:

  • 为所有混淆算法提供异步版本
  • 支持自定义线程池
  • 与同步 API 完全对应

支持的算法:

  • Tomato 混淆(小番茄)
  • Block 混淆(方块)
  • RowPixel 混淆(行像素)
  • PerPixel 混淆(像素级)
  • PicEncryptRow 混淆(PE行)
  • PicEncryptRowColumn 混淆(PE行列)
  • Sort 混淆(排序)
  • Random 混淆(随机)

方法命名规范:

CompletableFuture<ImageData> {algorithm}EncryptAsync(String key, ImageData data)
CompletableFuture<ImageData> {algorithm}DecryptAsync(String key, ImageData data)

2. 抽象类增强

ImageObfuscation 抽象类

位置: com.uiloalxise.utils.base.ImageObfuscation

新增方法:

CompletableFuture<ImageData> processAsync(ProcessType type)
CompletableFuture<ImageData> processAsync(ProcessType type, ExecutorService executor)
CompletableFuture<ImageData> encryptAsync()
CompletableFuture<ImageData> encryptAsync(ExecutorService executor)
CompletableFuture<ImageData> decryptAsync()
CompletableFuture<ImageData> decryptAsync(ExecutorService executor)

继承效果:
所有继承 ImageObfuscation 的混淆类自动获得异步能力:

  • TomatoObfuscation
  • BlockObfuscation
  • RowPixelObfuscation
  • PerPixelObfuscation
  • PicEncryptRowObfuscation
  • PicEncryptRowColumnObfuscation
  • SortObfuscation
  • RandomObfuscation
  • XuanObfuscation

ObfuscationUtils v1.1.0 - 图片混淆工具库

Choose a tag to compare

@2195517546 2195517546 released this 30 Dec 09:12

更新了两个算法,可以适当看出原图
分别是sort混淆和random混淆
前者是用排序排序像素的第一列然后重排整行,可还原
后者就是随机数种子取一列然后然后重排整行,可还原

ObfuscationUtils v1.0 - 图片混淆工具库

Choose a tag to compare

@2195517546 2195517546 released this 30 Dec 03:11

🎉 ObfuscationUtils v1.0

一个强大的图片混淆加密工具库,提供多种图片加密混淆算法。

✨ 功能特性

  • 🔐 支持 6 种混淆算法:Tomato, Block, RowPixel, PerPixel, PicEncryptRow, PicEncryptRowColumn
  • 🚀 高性能多线程处理
  • 🔄 完全可逆的加密/解密
  • 📦 零外部依赖(仅使用 Java 标准库)
  • 🎨 支持 PNG, JPG, GIF 等常见格式
  • 🌐 支持 Spring Boot MultipartFile

📥 如何使用

方式 1:直接下载 JAR 包

  1. 下载下方的 ObfuscationUtils-1.0.jar
  2. 添加到你的项目 libs 目录
  3. 在 Gradle 中添加依赖:
dependencies {
    implementation(files("libs/ObfuscationUtils-1.0.jar"))
}

方式 2:通过 JitPack(推荐)

Gradle (Kotlin DSL):

repositories {
    maven { url = uri("https://jitpack.io") }
}

dependencies {
	      implementation("com.github.2195517546:ObfuscationUtils:-b600ccf548-1")
}

Gradle (Groovy):

repositories {
    maven { url 'https://jitpack.io' }
}

dependencies {
	      implementation 'com.github.2195517546:ObfuscationUtils:-b600ccf548-1'
}

Maven:

<repositories>
    <repository>
        <id>jitpack.io</id>
        <url>https://jitpack.io</url>
    </repository>
</repositories>

<dependency>
	  <groupId>com.github.2195517546</groupId>
	  <artifactId>ObfuscationUtils</artifactId>
	  <version>-b600ccf548-1</version>
</dependency>