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)
}
相关推荐
weixin_5375904510 分钟前
《C程序设计语言》练习答案(练习1-13)
c语言·开发语言·c#
always_TT11 分钟前
从Python_Java转学C语言需要注意什么?
java·c语言·python
一招定胜负19 分钟前
课堂教学质量综合评分系统
java·linux·前端
Hui Baby20 分钟前
spring优雅释放资源
java·spring
橙露21 分钟前
JavaScript 异步编程:Promise、async/await 从原理到实战
开发语言·javascript·ecmascript
qq_4160187241 分钟前
C++中的模板方法模式
开发语言·c++·算法
启山智软1 小时前
【启山智软智能商城系统技术架构剖析】
java·前端·架构
一线大码1 小时前
Java 使用国密算法实现数据加密传输
java·spring boot·后端
我命由我123451 小时前
Android Gradle - Gradle 自定义插件(Build Script 自定义插件、buildSrc 自定义插件、独立项目自定义插件)
android·java·java-ee·kotlin·android studio·android-studio·android runtime
Riu_Peter1 小时前
【技术】Maven 配置 settings.xml 轮询下载
xml·java·maven