Pular para o conteúdo
FarmanipulaçãoFarmanipulação

Glossário · técnico

SHA-256

Função hash criptográfica padrão NIST FIPS 180-4. Produz output de 256 bits, irreversível, resistente a colisão. Base para hash-chain e auditoria imutável.

Glossáriotécnico

SHA-256 (Secure Hash Algorithm 2, output 256 bits) é função hash criptográfica padronizada em NIST FIPS 180-4. Princípio: transforma qualquer entrada (texto, binário, arquivo) em uma string de 64 caracteres hexadecimais (256 bits = 32 bytes).

Propriedades fundamentais:

  1. Determinístico — mesma entrada = mesmo hash sempre
  2. Avalanche — alterar 1 bit da entrada muda completamente o hash de saída
  3. Irreversível — não há algoritmo prático para recuperar entrada a partir do hash
  4. Resistente a colisão — virtualmente impossível encontrar duas entradas com mesmo hash
  5. Rápido — ~100MB/s em hardware comum

Exemplo:

Entrada: "Manipulação de minoxidil 5%"
SHA-256: 7a8f9b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a

Entrada: "Manipulação de minoxidil 5%"  (idêntica)
SHA-256: 7a8f9b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a

Entrada: "Manipulação de minoxidil 5%."  (1 ponto adicional)
SHA-256: 3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d

Aplicações em farmácia magistral:

  1. Hash-chain de pesagem — cada gramatura registrada com SHA-256
  2. Verificação de integridade de COA — hash do PDF do certificado de análise armazenado garante que arquivo não foi alterado
  3. Audit log — hash de cada evento + hash do anterior = corrente verificável
  4. Identificação de lote — hash composto de (IFA + lote + data + RT) gera ID único do lote produzido
  5. Validação de receita digital — hash dos dados da prescrição assinado pelo prescritor

Comparado com:

  • MD5: deprecated (colisões conhecidas) — não usar em segurança
  • SHA-1: deprecated (colisões teóricas + práticas) — não usar
  • SHA-256: padrão atual recomendado
  • SHA-512: mais lento, mesmo nível de segurança para uso comum
  • SHA-3 (Keccak): alternativa moderna, mas SHA-256 ainda é dominante

Implementação:

JavaScript / Node.js:

import { createHash } from 'node:crypto';
const hash = createHash('sha256').update('input').digest('hex');

Python:

import hashlib
hashlib.sha256(b'input').hexdigest()

PostgreSQL:

SELECT encode(digest('input', 'sha256'), 'hex');

Importante para auditoria pública:

O paciente não precisa "confiar" na Farmanipulação para validar o lote — basta:

  1. Baixar audit log JSON do lote (/api/transparencia/lote/<id>/audit-log.json)
  2. Recomputar SHA-256 de cada evento
  3. Comparar com hash gravado
  4. Validar chain (cada previous_hash bate com hash do evento anterior)

Validação leva segundos com qualquer ferramenta padrão. Não há "pular" essa verificação — ou os hashes batem (lote íntegro) ou não batem (lote alterado).

A Farmanipulação prevê SHA-256 como única função hash em todo o pipeline de auditoria — consistência simplifica documentação e treinamento. NIST aprovado, padrão da indústria, sem patente, suportado em todas as plataformas.

Termos relacionados