1
resposta

[Dúvida] sobre a formatação do hash

Olá

Estava fazendo a implementação opcional com o hash no projeto e vi que o instrutor usou uma formatação:

fun String.converteParaHash (
    tipoAlgoritimo: String = "SHA-256"
): String {
    val md = MessageDigest.getInstance(tipoAlgoritimo)
    return md.digest(this.toByteArray()).joinToString("") {"%02x".format(it) } // <--- aqui
}

Como funciona esse tipo de código? Como que isso formata a string? Nunca vi nenhum conteúdo sobre

1 resposta

A função de extensão converteParaHash permite calcular um hash (como SHA-256) de qualquer string presente no seu código. Internamente, ela usa a classe MessageDigest para obter o hash em bytes. O código em questão tem destaque na formatação específica usada para transformar esses bytes em uma string hexadecimal legível. Essa representação consiste em dígitos de 0-9 e letras de A-F, garantindo dois dígitos por byte (exemplo: "0A", "BC", "3F"). Este formato padroniza a visualização e o armazenamento do resultado do hash.