0
点赞
收藏
分享

微信扫一扫

kotlin aes 加密解密

最不爱吃鱼 2023-10-03 阅读 34

文章目录

1. key填充

aes算法对key的字节数有要求 所以对输入的key要做填充处理

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. 加密

fun ktAes(key: String, source: String): String {
    val keyBytes = fillKey(key)
    return Aes(keyBytes).encryptBase64(source)
}

3. 解密

fun ktDeAes(key: String, source: String): String {
    val keyBytes = fillKey(key)
    return Aes(keyBytes).decryptStr(source)
}
举报

相关推荐

0 条评论