Slide 48
Slide 48 text
Encriptación en Módulos de Código Nativo
private const val AES_MODE = "AES/CBC/PKCS7Padding"
private val CHARSET = Charsets.UTF_8
private const val HASH_ALGORITHM = "SHA-256"
private val ivBytes = byteArrayOf(
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00)
@Throws(NoSuchAlgorithmException::class, UnsupportedEncodingException::class)
private fun generateKey(password: String): SecretKeySpec {
val digest = MessageDigest.getInstance(HASH_ALGORITHM)
val bytes = password.toByteArray(charset("UTF-8"))
digest.update(bytes, 0, bytes.size)
val key = digest.digest()
return SecretKeySpec(key, "AES")
}