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)
}
相关推荐
j***63081 天前
【springboot】Spring 官方抛弃了 Java 8!新idea如何创建java8项目
java·spring boot·spring
闲人编程1 天前
Python对象模型:一切都是对象的设计哲学
开发语言·python·模型·对象·codecapsule·下划线
列逍1 天前
深入理解 C++ 智能指针:原理、使用与避坑指南
开发语言·c++
二川bro1 天前
Python大语言模型调优:LLM微调完整实践指南
开发语言·python·语言模型
4***V2021 天前
PHP在微服务通信中的消息队列
开发语言·微服务·php
亿坊电商1 天前
PHP框架 vs 原生开发:移动应用后端开发实战对比!
开发语言·php
S***q1921 天前
Kotlin内联函数优化
android·开发语言·kotlin
小墙程序员1 天前
在Android中,kotlin 的一些开发技巧(二)
android·kotlin
JIngJaneIL1 天前
汽车租赁|汽车管理|基于Java+vue的汽车租赁系统(源码+数据库+文档)
java·vue.js·spring boot·汽车·论文·毕设·汽车租赁
在路上看风景1 天前
2.3 C#装箱和拆箱
开发语言·c#