class AESCrypt {
/**
* aes加密
*/
fun encrypt(input: String, password: String): String {
//1. 创建cipher对象
val cipher = Cipher.getInstance("AES")
//2. 初始化cipher
//自己指定的秘钥
val keySpec = SecretKeySpec(password.toByteArray(),"AES")
cipher.init(Cipher.ENCRYPT_MODE, keySpec)
//3. 加密和解密
val encrypt = cipher.doFinal(input.toByteArray());
return Base64Util.encode(encrypt)
}
/**
* aes解密
*/
fun decrypt(input: String, password: String): String {
//1. 创建cipher对象
val cipher = Cipher.getInstance("AES")
//2. 初始化cipher
//自己指定的秘钥
val keySpec = SecretKeySpec(password.toByteArray(),"AES")
cipher.init(Cipher.DECRYPT_MODE, keySpec)
//3. 加密和解密
val decrypt = cipher.doFinal(Base64Util.decode(input))
return String(decrypt)
}
}
fun main() {
//原文
val input = "欢迎光临"
val password = "1234567812345678"//秘钥,aes长度大于等于16位
val encrypt = AESCrypt().encrypt(input, password)
val decrypt = AESCrypt().decrypt(encrypt, password)
println("aes加密 = $encrypt")
println("aes解密 = $decrypt")
}
Kotlin AES加密
最新推荐文章于 2024-08-28 14:26:32 发布