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)
}
相关推荐
雨中飘荡的记忆13 小时前
财务核算系统设计与实现
java
忘记92613 小时前
什么是stream流
开发语言
期待のcode13 小时前
Springboot数据层开发
java·spring boot·后端
上78将13 小时前
JVM回收垃圾机制
java·开发语言·jvm
Evan芙13 小时前
shell编程求10个随机数的最大值与最小值
java·linux·前端·javascript·网络
张人玉13 小时前
C#Https协议相关知识点
开发语言·https·c#
BD_Marathon13 小时前
【IDEA】IDEA的详细设置
java·ide·intellij-idea
未来coding13 小时前
Spring AI ChatModel API 详解【基于官方文档】
java·后端·spring
忘记92613 小时前
重复注解的机制是什么
java
喜欢流萤吖~13 小时前
Servlet 生命周期详解
java·servlet