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)
}
相关推荐
后青春期的诗go5 小时前
泛微OA-E9与第三方系统集成开发企业级实战记录(八)
java·接口·金蝶·泛微·oa·集成开发·对接
一杯美式 no sugar5 小时前
C++入门基础
开发语言·c++
大鹏说大话5 小时前
AI 辅助编程革命:如何利用 GitHub Copilot 等工具重塑开发效率
开发语言
rit84324995 小时前
有限元法求转子临界转速的MATLAB实现
开发语言·matlab
echome8885 小时前
Python 异步编程实战:asyncio 核心概念与最佳实践
开发语言·网络·python
dreamxian5 小时前
苍穹外卖day09
java·spring boot·tomcat·log4j·maven
剑海风云5 小时前
JDK 26之安全增强
java·开发语言·安全·jdk26
左左右右左右摇晃5 小时前
Java并发——多线程
java·开发语言·jvm
AMoon丶5 小时前
Golang--内存管理
开发语言·后端·算法·缓存·golang·os
阿里嘎多学长5 小时前
2026-03-22 GitHub 热点项目精选
开发语言·程序员·github·代码托管