Data integrity · Integridade de dados
Keeping data correct
- Integrity means data stays accurate. Two techniques protect it: validation and verification.
- They sound similar but do different jobs — a classic exam distinction.
Mantendo os dados corretos
- Integridade significa que os dados permanecem precisos. Duas técnicas protegem isso: validação e verificação.
- Soam similares, mas têm funções diferentes — uma distinção clássica de prova.
Validation vs verification
- Validation checks data is reasonable as it is entered. Examples:
- Range check (age 0–120), length check (a phone number), format check (an email has an
@), presence check (not left blank).
- Range check (age 0–120), length check (a phone number), format check (an email has an
- Verification checks data was copied correctly. Examples:
- Double entry (type a password twice), or a visual check (read it back).
Validação vs verificação
- Validação verifica se os dados são razoáveis conforme inseridos. Exemplos:
- Verificação de intervalo (idade 0–120), verificação de comprimento (número de telefone), verificação de formato (e-mail tem
@), verificação de presença (não deixado em branco).
- Verificação de intervalo (idade 0–120), verificação de comprimento (número de telefone), verificação de formato (e-mail tem
- Verificação verifica se os dados foram copiados corretamente. Exemplos:
- Entrada dupla (digite uma senha duas vezes), ou uma verificação visual (leia em voz alta).
Checking data in transit
- When data travels, bits can flip. A checksum or check digit catches that.
- The sender calculates a small number from the data; the receiver recalculates it. If they differ, the data was corrupted.
Verificando dados em trânsito
- Quando os dados viajam, bits podem inverter. Um soma de verificação ou dígito verificador captura isso.
- O remetente calcula um número pequeno a partir dos dados; o destinatário recalcula. Se diferirem, os dados foram corrompidos.
number = "1389"
print(sum(int(d) for d in number) % 10) # a one-digit checksum
Your turn
- Compute a simple check digit by summing the digits modulo 10. Real systems (like barcodes and ISBNs) use cleverer versions of this idea.
Covers: A-Level 6.2 (validation/verification), IGCSE 2.2 (error detection).
Sua vez
- Calcule um dígito verificador simples somando os dígitos módulo 10. Sistemas reais (como códigos de barras e ISBNs) usam versões mais inteligentes dessa ideia.
Cobertura: A-Level 6.2 (validação/verificação), IGCSE 2.2 (detecção de erros).
Common mistakes
- A checksum or check digit spots accidental changes to data.
- Validation checks data is sensible; verification checks it was entered correctly.
Erros comuns
- Um checksum ou dígito verificador identifica alterações acidentais nos dados.
- Validação verifica se os dados são sensatos; verificação verifica se foram inseridos corretamente.
Hashes detect tampering · Hashes detectam adulteração
Re-hash the data and compare: any change flips the digest. · Refaça o hash dos dados e compare: qualquer alteração inverte o digest.
A simple checksum helps catch typing errors. Add up the digits of number and take the result modulo 10. Print that single check digit. · Uma soma de verificação simples ajuda a capturar erros de digitação. Some os dígitos de number e pegue o resultado módulo 10. Imprima esse único dígito de verificação.
Click Run to see the output here. · Clique em Executar para ver a saída aqui.
Now be the receiver. The sender transmitted the digits with check digit 8, but one digit got corrupted on the way. Recompute the checksum of received and print ERROR if it does not equal sent_check, else OK. · Agora seja o receptor. O remetente transmitiu os dígitos com dígito de verificação 8, mas um dígito foi corrompido no caminho. Recalcule a soma de verificação de received e imprima ERROR se não for igual a sent_check, senão imprima OK.
Click Run to see the output here. · Clique em Executar para ver a saída aqui.