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)
}
相关推荐
帅气的你8 小时前
Spring Boot 集成 AOP 实现日志记录与接口权限校验
java·spring boot
无限进步_9 小时前
【数据结构&C语言】对称二叉树的递归之美:镜像世界的探索
c语言·开发语言·数据结构·c++·算法·github·visual studio
zhglhy9 小时前
Spring Data Slice使用指南
java·spring
CSDN_RTKLIB9 小时前
C++取模与取余
开发语言·c++
win x9 小时前
Redis 主从复制
java·数据库·redis
星河耀银海9 小时前
C++开发入门——环境搭建与第一个程序
开发语言·c++·策略模式
weixin_423995009 小时前
unity 处理图片:截图,下载,保存
java·unity·游戏引擎
还不秃顶的计科生9 小时前
defaultdict讲解
开发语言·javascript·ecmascript
帅气的你9 小时前
从零封装一个通用的 API 接口返回类:统一前后端交互格式
java·设计模式
qq_178057079 小时前
基于minio实现的分片上传-支持断点续传
java