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)
}
相关推荐
二哈喇子!2 分钟前
IDEA启动后控制台不报错,但是页面访问404
java·intellij-idea·mybatis
二哈喇子!2 分钟前
Tomcat下载安装以及配置(详细教程)
java·tomcat·intellij-idea
计算机毕设指导64 分钟前
基于微信小程序的健康管理系统【源码文末联系】
java·spring boot·微信小程序·小程序·tomcat·maven·intellij-idea
郝学胜-神的一滴5 分钟前
使用QVideoWidget实现高效视频播放:从基础到高级应用
开发语言·c++·qt·程序人生·音视频
秋漓5 分钟前
浏览器访问跨域
开发语言·lua
Cher ~6 分钟前
【数据结构】stl 容器
开发语言·数据结构·c++
老蒋每日coding13 分钟前
Go语言实现 Agent Demo
开发语言·后端·golang
月月玩代码13 分钟前
OkHttp,Square出品的Java/Android HTTP客户端!
android·java·okhttp
胡八一15 分钟前
IntelliJ IDEA 配置插件目录
java·ide·intellij-idea
czliutz16 分钟前
R语言gm音乐包的使用简单介绍
开发语言·r语言·音乐·技巧