Estructura del Código QR
Un código QR no es una cuadricula aleatoria de cuadrados. Tiene una estructura definida que todo escáner sabe interpretar.
Elementos estructurales básicos:
- Patrones de busqueda: tres esquinas cuadradas (superior izquierda, superior derecha, inferior izquierda). Permiten al escáner encontrar y orientar el código independientemente de la rotación.
- Patrones de sincronización: líneas alternas blancas y negras que conectan los patrones de busqueda. Establecen la cuadricula de modulos.
- Patrones de alineación: patrones cuadrados más pequeños en códigos QR más grandes (versión 2 y superiores). Ayudan al escáner a corregir la distorsión de la imagen.
- Información de formato: bandas adyacentes a los patrones de busqueda que codifican el nivel de corrección de errores y el patrón de mascara utilizado.
- Datos y modulos de corrección de errores: el área restante que codifica el contenido real más la redundancia Reed-Solomon.
El área de datos se codifica en uno de varios modos: numérico (el más compacto para solo digitos), alfanumerico (mayusculas, digitos y un pequeño conjunto de símbolos), byte (bytes arbitrarios, usado para URL) o kanji (para caracteres japoneses). Las URL usan el modo byte porque contienen minusculas.
Niveles de Corrección de Errores
La corrección de errores Reed-Solomon agrega datos redundantes que permiten reconstruir el mensaje original incluso si algunos modulos son ilegibles.
| Nivel | Capacidad de recuperación | Mejor para |
|---|---|---|
| L | Hasta 7% | Pantallas, impresión limpia, alto contraste |
| M | Hasta 15% | Impresión estándar, se espera desgaste leve |
| Q | Hasta 25% | Superficies curvas, exteriores, tela |
| H | Hasta 30% | Desgaste severo, superposición de logotipos, baja calidad de impresión |
Una corrección de errores más alta significa códigos QR más grandes y densos para los mismos datos. Una URL de 30 caracteres en nivel L produce un código mucho más pequeño y simple que la misma URL en nivel H. Para visualización en pantalla (pantallas de telefonos, monitores, carteles digitales) donde la imagen siempre es nítida, L o M son suficientes. Para impresión, especialmente en objetos fisicos que pueden manipularse, al menos Q. Para logotipos, H.
Limitaciones de Tamaño y Distancia de Escaneo
El tamaño fisico y la distancia de escaneo están relacionados. Un código QR de 1 cm en una pantalla de teléfono se escanea bien a 10 cm. Ese mismo código QR de 1 cm en una valla publicitaria no se escanea desde un automovil. Cómo regla general, el tamaño mínimo del código QR debe ser la distancia de escaneo dividida por 10. Para un código en una tarjeta de presentación vista a 30 cm, 3 cm es suficiente. Para un código en un cartel visto a 3 metros, necesitas al menos 30 cm.
La versión del código QR (su tamaño de cuadricula interno) y el nivel de corrección de errores determinan la densidad de modulos. La mayoría de las camaras de telefonos pueden escanear de forma fiable cuadriculas de hasta 50x50 modulos (aproximadamente versión 6) desde una distancia comoda. Más allá de eso, el usuario necesita acercar la camara o hacer zoom.
Seguridad de los Códigos QR
Los códigos QR no tienen autenticación ni cifrado. Un código QR es texto plano que cualquier persona con un escáner puede leer. La seguridad depende completamente de lo que hagas con el contenido después de escanearlo.
Riesgos comunes:
- Suplantación de códigos: Se coloca una calcomania de código QR malicioso sobre un código legitimo. Siempre verifica visualmente el código QR antes de escanearlo en espacios públicos.
- URL acortadas: Un código QR que contiene
bit.ly/xyzoculta el destino real. Expande las URL acortadas antes de abrirlas. - Descargas automaticas: Algunos códigos QR maliciosos enlazan a descargas de APK o documentos con macros. En dispositivos móviles, las descargas automaticas son menos comunes pero aún posibles.
Para tu propio contenido, los códigos QR son seguros de generar y distribuir. El riesgo es para la persona que escanea, que debe verificar el destino antes de actuar.