kotlin aes 加密解密

文章目录

    • [1. key填充](#1. key填充)
    • [2. 加密](#2. 加密)
    • [3. 解密](#3. 解密)

1. key填充

aes算法对key的字节数有要求 所以对输入的key要做填充处理

kotlin 复制代码
fun fillKey(key: String): ByteArray {
    val random = SecureRandom.getInstance("SHA1PRNG")
    random.setSeed(key.toByteArray())
    val generator = KeyGenerator.getInstance("AES")
    generator.init(random)
    return generator.generateKey().encoded
}

2. 加密

kotlin 复制代码
fun ktAes(key: String, source: String): String {
    val keyBytes = fillKey(key)
    return Aes(keyBytes).encryptBase64(source)
}

3. 解密

kotlin 复制代码
fun ktDeAes(key: String, source: String): String {
    val keyBytes = fillKey(key)
    return Aes(keyBytes).decryptStr(source)
}
相关推荐
卷毛的技术笔记6 分钟前
Java后端硬核实战:用Spring AI Alibaba+Redis给LLM装上“超强记忆中枢”
java·人工智能·redis·后端·spring·ai·系统架构
nnsix23 分钟前
C# 字符串 根据换行符分割
开发语言·c#
Vallelonga24 分钟前
Rust Conversion 工具 trait AsRef AsMut
开发语言·rust
Vallelonga26 分钟前
Rust 中的“解引用”和智能指针与 MutexGuard 等
开发语言·rust
小鱼仙官29 分钟前
Windonws 视频存储,10s/不限时
开发语言·qt·音视频
csbysj202035 分钟前
框架:构建高效解决方案的基石
开发语言
轻颂呀1 小时前
C++11——并发库介绍
开发语言·c++
AKA__Zas1 小时前
初识多线程(3.0)
java·开发语言·学习方法
小杍随笔2 小时前
【Rust 工具链管理工具再升级!rust-verse v1.3.1 ~ v1.3.5 最新更新深度解析】
开发语言·后端·rust
北漂人Java2 小时前
SpringAI-2.Spring AI整合本地模型和云端大模型
java·spring