Calcular los dígitos de control del DNI

Publicado por Iñaki a las 10:00 Lunes 7 de septiembre de 2009

Muchas leyendas urbanas circulan por ahí acerca del significado de los misteriosos números que lleva el DNI en su reverso; en especial, trae de cabeza a mucha gente el dígito aislado situado a la derecha. Sin embargo, de misterioso no tiene nada. Si acudimos a la página oficial del nuevo DNI electrónico, deja bien claro que el campo situado en la parte trasera es información impresa OCR-B destinada a la lectura mecanizada, y está regulado por la normativa recogida en el documento 9303 de la ICAO. Y como toda información destinada a ser leída por una máquina, se incluyen ciertos dígitos de control detrás de cada uno de los campos para realizar la comprobación de que la lectura ha sido satisfactoria.

Hace cosa de un año, recuerdo que un profesor de criptografía de la universidad nos explicó el sistema que usaban para calcular estos dígitos de control. Olvidé el procedimiento y el documento 9303 donde lo explican, así como el estándar ISO 7501 en el que se convirtió, es de pago. Sin embargo, el otro día di por casualidad con una página donde recogen dicho documento 9303 llamado Machine Readable Travel Documents, Part 1 Volume 1 [PDF], que ha servido para refrescarme la memoria. Así que, aprovechando la circunstancia, paso a detallaros el cálculo de los dígitos de control.

La letra del DNI

Para empezar, explicaré cómo se extrae la letra del DNI, porque también esta letra sirve de control para comprobar que el número es correcto. Esto es más conocido y supongo que a muchos de vosotros al menos os sonará.

Básicamente se divide el número entre 23 y el resto se sustituye por una letra que se determina por inspección mediante la siguiente tabla:

RESTO 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
LETRA T R W A G M Y F P D X B N J Z S Q V H L C K E

Por ejemplo, si el número del DNI es 12345678, dividido entre 23 da de resto 14, luego la letra sería la Z: 12345678Z.

Los dígitos de control

En el DNI electrónico, el reverso tiene esta forma:

IDESPXYZ123456a12345678Z<<<<<<
990101bM111231cESP<<<<<<<<<<<d
URRUTIA<URRUTIA<<ANTXON<<<<<<<

Identifiquemos cada uno de los campos:

  1. {ID}Tipo de documento.
  2. {ESP}Nación.
  3. {XYZ123456}Número de serie del soporte.
  4. {a} Primer dígito de control, correspondiente al campo 3.
  5. {12345678Z}DNI.
  6. {<<<<<<}Relleno.
  7. {990101}Fecha de nacimiento, con el formato año/mes/día.
  8. {b} Segundo dígito de control, correspondiente al campo 7.
  9. {M}Sexo; Masculino o Femenino.
  10. {111231}Fecha de vencimiento, con el formato año/mes/día.
  11. {c} Tercer dígito de control, correspondiente al campo 10.
  12. {ESP}Nacionalidad.
  13. {<<<<<<<<<<<}Relleno.
  14. {d} Cuarto dígito de control, correspondiente a la concatenación de los campos 3, 4, 5, 7, 8, 10 y 11.
  15. {URRUTIA}Primer apellido.
  16. {<}Limitador entre apellidos.
  17. {URRUTIA}Segundo apellido.
  18. {<<}Limitador entre apellidos y nombre.
  19. {ANTXON}Nombre.
  20. {<<<<<<<}Relleno.

Para calcular el dígito de control {a}, se aplica el peso 731 (léase siete tres uno) al campo 3. Si alguno de los carácteres es una letra, se sustituye por su número correspondiente según la siguiente tabla:

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35

En nuestro caso, X=33, Y=34, Z=35. Decíamos que hay que aplicar el peso 731 de la siguiente manera:

   33    34   35   1   2   3    4    5   6
x   7     3    1   7   3   1    7    3   1
------------------------------------------
        231 + 102 + 35 + 7 + 6 + 3 + 28 + 15 + 6 = 433

Como veis, a cada número se le asigna el peso correspondiente y se multiplica. Después se suman todos los resultados y el dígito de control es la última cifra del total. En este caso, a=3. Para el dígito de control {b}, se repite la operación con el campo 7:

    9    9   0   1   0   1
x   7    3   1   7   3   1
--------------------------
        63 + 27 + 0 + 7 + 0 + 1 = 98

Y obtenemos que b=8. Lo mismo para el dígito {c} con el campo 10:

    1   1   1    2   3   1
x   7   3   1    7   3   1
--------------------------
         7 + 3 + 1 + 14 + 9 + 1 = 35

Obteniendo que c=5. Para terminar, el dígito de control {d} se halla de la misma manera con la concatenación indicada arriba: {3,4,5,7,8,10,11}. Recordad que hay que sustituir las letras por números según la segunda tabla.

   33  34 35 1 2 3  4  5 6  3 1 2  3  4 5  6
x   7   3  1 7 3 1  7  3 1  7 3 1  7  3 1  7
--------------------------------------------
   231+102+35+7+6+3+28+15+6+21+3+2+21+12+5+42+
    7 8  35  9 9 0 1 0 1  8 1 1 1 2  3 1 5
x   3 1   7  3 1 7 3 1 7  3 1 7 3 1  7 3 1
-------------------------------------------
        +21+8+245+27+9+0+3+0+7+24+1+7+3+2+21+3+5 = 925

Por lo tanto, d=5, y el DNI quedaría finalmente así:

IDESPXYZ123456312345678Z<<<<<<
9901018M1112315ESP<<<<<<<<<<<5
URRUTIA<URRUTIA<<ANTXON<<<<<<<

Como apunte final, los que todavía no tengáis el DNI electrónico habréis visto cómo en vuestros DNI antiguos hay un par de cambios: no existe número de serie y el número de DNI va seguido de un dígito de control que se calcula con dicho campo. Lo demás es igual.

↓ Deja tu comentario
  1. 1 Mini-aplicación generadora del DNI electrónico | Enchufa2 dijo:

    [...] dorwinrin en: Calcular los dígitos de control del DNI [...]

  2. 2 Tweets that mention Calcular los dígitos de control del DNI | Enchufa2 -- Topsy.com dijo:

    [...] This post was mentioned on Twitter by Pedro M. Pérez Fdez., Mónica García. Mónica García said: ¿sabes cómo te asignan la letra del DNI? http://bit.ly/OKriS [...]

  3. 3 Calcular la letra del DNI - Gaussianos | Gaussianos dijo:

    [...] para finalizar os recomiendo este post de Enchufa2 en el que podéis ver tanto este cálculo como los relacionados con el resto de números que [...]

  4. 4 faluu.com » Blog Archive » ¿Qué información se esconde en nuestro DNI? dijo:

    [...] en el blog Enchufa2 un interesante artículo sobre cómo se calculan los dígitos de control del DNI y sobre el nuevo [...]

  5. 5 ¿Qué información se esconde en nuestro DNI? | Noticias del Cerebro Digital dijo:

    [...] en el blog Enchufa2 un interesante artículo sobre cómo se calculan los dígitos de control del DNI y sobre el nuevo [...]

  6. 6 Gamedios — ¿Qué información se esconde en nuestro DNI? dijo:

    [...] en el blog Enchufa2 un interesante artículo sobre cómo se calculan los dígitos de control del DNI y sobre el nuevo [...]

  7. 7 ¿Qué información se esconde en nuestro DNI? | mimundobebe dijo:

    [...] en el blog Enchufa2 un interesante artículo sobre cómo se calculan los dígitos de control del DNI y sobre el nuevo [...]

  8. 8 ¿Qué información se esconde en nuestro DNI? | Asesoría Pérez – Tarracogest dijo:

    [...] = 'http://widgets.digg.com/buttons.js&#039;; s1.parentNode.insertBefore(s, s1); })(); Tweet Leo en el blog Enchufa2 un interesante artículo sobre cómo se calculan los dígitos de control del DNI y sobre el nuevo [...]

  9. 9 ¿Que información guarda mi DNI? | loqueteniasquever dijo:

    [...] Calcular los dígitos de control del DNI [...]

  10. 10 Que informacion se esconde en nuestro DNI dijo:

    [...] en el blog Enchufa2 un interesante artículo sobre cómo se calculan los dígitos de control del DNI y sobre el nuevo [...]

  1. 1 Minipimer dijo:

    Te acabas de cargar varias leyendas urbanas, mi más sincera enhorabuena, todos podremos vivir más tranquilos en nuestras conversaciones de bar :D

    Responder
  2. 2 dorwinrin dijo:

    Yo me aprendí la secuencia de 23 letras de memoria (con los marcadores 5,10,15,20, o sea: maxiseco jejeje) y no veas lo que se farda entre colegas ;)

    Responder
  3. 3 ipecan dijo:

    Entonces no es cierta esa leyenda urbana que indica que el último número corresponde con el número de personas que tiene tus mismos apellidos…

    saludos.

    Responder
  4. 4 ismael dijo:

    que significa el xyz, no tengo ni idea de lo que significan estas letras, ya que en algunos aparece abr y en otros afm

    Responder
  5. 5 Iñaki dijo:

    @ismael: No significan nada. Eso es un número de serie que empieza por 3 letras, como las letras de las matrículas de los coches.

    Responder
  6. 6 magomedia dijo:

    @dorwinrin:

    no pillo tu regla nemotecnica!! :P

    Responder
  7. 7 wbroker dijo:

    Esto no se cumple con la tarjeta de residencia o NIE, funciona con todos los digitos excepto el campo 14. comprobarlo.

    Responder
  8. 8 JUANIL96 dijo:

    @wbroker:
    Solo debes de sustituir la letra por un número según:

    X Nada
    Y 1
    Z 2

    y listo

    Responder


Los comentarios están cerrados.