Data integrity · Integridad de datos
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.
Mantener los datos correctos
- La integridad significa que los datos permanecen precisos. Dos técnicas la protegen: la validación y la verificación.
- Suenan similar, pero cumplen funciones diferentes —una distinción clásica en los exámenes.
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).
Validación vs. verificación
- La validación verifica que los datos sean razonables a medida que se introducen. Ejemplos:
- Control de rango (edad entre 0 y 120), control de longitud (un número de teléfono), control de formato (un correo electrónico tiene un
@), control de presencia (no dejarlo en blanco).
- Control de rango (edad entre 0 y 120), control de longitud (un número de teléfono), control de formato (un correo electrónico tiene un
- La verificación verifica que los datos se hayan copiado correctamente. Ejemplos:
- Doble entrada (escribir una contraseña dos veces) o un control visual (leerla en 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.
Comprobación de datos en tránsito
- Cuando los datos viajan, los bits pueden cambiar. Un suma de control o un dígito de control detecta ese error.
- El emisor calcula un número pequeño a partir de los datos; el receptor lo recalcula. Si difieren, los datos se han corrompido.
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).
Tu turno
- Calcula una suma de control simple sumando los dígitos módulo 10. Los sistemas reales (como códigos de barras e ISBNs) utilizan versiones más sofisticadas de esta idea.
Cubre: A-Level 6.2 (validación/verificación), IGCSE 2.2 (detección de errores).
Common mistakes
- A checksum or check digit spots accidental changes to data.
- Validation checks data is sensible; verification checks it was entered correctly.
Errores comunes
- Una suma de control o un dígito de control detecta cambios accidentales en los datos.
- La validación verifica que los datos sean sensatos; la verificación verifica que se hayan introducido correctamente.
Hashes detect tampering · Los hashes detectan manipulaciones
Re-hash the data and compare: any change flips the digest. · Vuelve a procesar los datos y compara: cualquier cambio altera el digesto.
A simple checksum helps catch typing errors. Add up the digits of number and take the result modulo 10. Print that single check digit. · Una simple suma de verificación ayuda a detectar errores de digitación. Suma los dígitos de number y toma el resultado módulo 10. Imprime ese único dígito de control.
Click Run to see the output here. · Haz clic en Ejecutar para ver la salida aquí.
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. · Ahora actúa como el receptor. El remitente transmitió los dígitos con el dígito de control 8, pero uno de los dígitos se corrompió en el camino. Vuelve a calcular la suma de verificación de received e imprime ERROR si no es igual a sent_check, de lo contrario imprime OK.
Click Run to see the output here. · Haz clic en Ejecutar para ver la salida aquí.