Bom dia a todos
Eu tenho uma dúvida em relação à uma atividade extra, que eu queria enteder a parte final desse código de criptografia de senha:
fun String.toHash(
algoritmo: String = "SHA-256"
): String {
return MessageDigest
.getInstance(algoritmo)
.digest(this.toByteArray())
.fold("") { str, byte ->
str + "%02x".format(byte)
}
}
- Eu não exatamente o significado de todo o código do fold. A string vazia
""
é o valor inicial recebido recebido das outras funções ou um valor inicial para colocarmos, mas deixamos vazia neste caso - O str representa a senha que passamos?
- O %02x serve como um valor aleatório para misturarmos com a senha e dificultar a descriptografia?
- e o format(byte) é para transformarmos essa string em byte?
Eu to meio confuso e queria entender melhor esse final do método