MD5/SHA256
Funcoes de hash criptografico. MD5 nao e seguro (legado); use SHA256 sempre que possivel. Hash hex string (32/64 chars).
Assinatura: MD5(cStr) -> cHash // SHA256(cStr) -> cHash
Retorna: Character
Hashes criptograficos retornam string hex de 32 (MD5) ou 64 (SHA256) caracteres.
cHashMD5 := MD5("texto secreto") // ex: "098f6bcd4621d373cade4e832627b4f6"
cHashSHA := SHA256("texto secreto") // ex: 64 chars
// Integridade de arquivo
cConteudo := MemoRead(cArq)
cChecksum := SHA256(cConteudo)
Quando usar cada um
| Caso | Funcao |
|---|---|
| Senha (legado, nao novo) | SHA256 + salt |
| Integridade (checksum arquivo) | SHA256 |
| Cache key | MD5 (rapido, ok pra nao-seguranca) |
| Token unico curto | MD5 |
Pegadinhas
- MD5 e quebrado pra seguranca — colisoes conhecidas. Nao use pra autenticacao/assinatura.
- Hash nao e criptografia — nao reversivel. Pra criptografar use Encrypt/Decrypt.
- Senha sem salt e vulneravel a rainbow tables — sempre concatene salt unico por usuario.