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)
}
相关推荐
float_六七11 小时前
JS比较运算符:从坑点速记到实战口诀
开发语言·javascript·ecmascript
CoderCodingNo11 小时前
【GESP】C++五级练习(前缀和练习) luogu-P1387 最大正方形
开发语言·c++·算法
yong999011 小时前
信号分形维数计算方法与MATLAB实现
开发语言·人工智能·matlab
win x11 小时前
Redis集群
java·数据库·redis
r_oo_ki_e_11 小时前
java23--异常
java·开发语言
数据大魔方11 小时前
【期货量化入门】股指期货量化入门:IF/IC/IH交易全攻略(TqSdk完整教程)
开发语言·python
无风听海11 小时前
C#中实现类的值相等时需要保留null==null为true的语义
开发语言·c#
ZouZou老师11 小时前
Linux Qt出现xcb异常问题解决办法
开发语言·qt
qq_124987075311 小时前
基于Spring Boot的“味蕾探索”线上零食购物平台的设计与实现(源码+论文+部署+安装)
java·前端·数据库·spring boot·后端·小程序
知乎的哥廷根数学学派11 小时前
基于多尺度特征提取和注意力自适应动态路由胶囊网络的工业轴承故障诊断算法(Pytorch)
开发语言·网络·人工智能·pytorch·python·算法·机器学习