在 Android 平台上使用 Kotlin 语言创建加密密码的最简单方式之一是使用以下代码。该代码使用 SHA-256 算法对密码进行哈希运算,并将结果转换为 Base64 编码的字符串。
import java.security.MessageDigest
import java.util.*
// 生成随机的 16 个字符作为盐
val salt = UUID.randomUUID().toString().substring(0, 16)
// 哈希运算密码
fun hashPassword(password: String): String {
val md = MessageDigest.getInstance("SHA-256")
md.update(salt.toByteArray(charset("UTF-8")))
val bytes = md.digest(password.toByteArray(charset("UTF-8")))
return Base64.getEncoder().encodeToString(bytes)
}
// 调用 hashPassword 函数创建加密密码
val password = "myPassword123"
val encryptedPassword = hashPassword(password)
在上面的示例中,我们首先使用 UUID.randomUUID().toString().substring(0, 16)
生成一个随机的 16 位字符串,作为哈希运算的盐值。然后,我们使用 MessageDigest.getInstance("SHA-256")
创建一个基于 SHA-256 算法的哈希函数,并使用 md.update(salt.toByteArray(charset("UTF-8")))
将密码与盐值合并,然后使用 md.digest(password.toByteArray(charset("UTF-8")))
将该字符串哈希为一个字节数组。最后,我们使用 Base64.getEncoder().encodeToString(bytes)
将该字节数组转换为 Base64 编码的字符串。