/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package utils; /** * * @author cabachu */ import java.io.*; import java.util.*; // calcula el digito verificador de la CRIP para siglo pasado y el siglo actual // necesita tomar los valores de entidad, municipio, oficialia, acta y año //regresa un string que contiene la CRIP public class CalculaCrip { public String obtener_crip( String strEntidad, String strMunicipio, String strOficialia, String strAnio, String strActa) { String strdatos = ""; String strletras = "JABCDEFGHIJ "; // constantes de letras String strnumeros = "012345678900";// constantes de numeros int ik[] = {3, 2, 7, 6, 5, 4, 3, 2, 7, 6, 5, 4, 3, 2}; // constante para calcular la crip int[] imul = new int[16]; int[] inum = new int[16]; int isuma = 0; int ix = 0; int ia = 0; int idigito = 0; if (strEntidad.length() == 1) { strEntidad = "0" + strEntidad; } // se agrega un cero si vien 1 solo digito if (strMunicipio.length() == 1) { strMunicipio = "00" + strMunicipio; }// se agregan ceros hasta copletar 3 digitos if (strMunicipio.length() == 2) { strMunicipio = "0" + strMunicipio; } if (strOficialia.length() == 1) { strOficialia = "0" + strOficialia; }// se agregan ceros hasta copletar 2 digitos if (strActa.length() == 1) { strActa = "0000" + strActa; }// se agregan ceros hasta copletar 5 digitos if (strActa.length() == 2) { strActa = "000" + strActa; } if (strActa.length() == 3) { strActa = "00" + strActa; } if (strActa.length() == 4) { strActa = "0" + strActa; } strdatos = strEntidad + strMunicipio + strOficialia + strAnio.substring(2, 4) + strActa; // se contatena la raiz para calcular el digito System.out.println(strdatos); // a cada numero de la raiz se le multiplica por un nuemro de la constante y se suman for (ia = 0; ia < 14; ia++) { inum[ia] = Integer.valueOf(strdatos.substring(ia, ia + 1)).intValue(); imul[ia] = inum[ia] * ik[ia]; isuma = isuma + imul[ia]; } // se obtiene el digito verificador ix = isuma % 11; System.out.println("suma "); System.out.println(isuma); System.out.println("digito antes de resta "); System.out.println(ix); if (ix <= 0) { idigito = 0; } else { idigito = 11 - ix; } // se evalua el año y se coloca el digito verificador numero o letra System.out.println("valor de comparacion"); System.out.println(strAnio.compareTo("1999")); if (strAnio.compareTo("1999") > 0) { if (idigito == 0) { strdatos = strdatos + "J"; } else { System.out.println(idigito); strdatos = strdatos + strletras.substring(idigito, idigito + 1); } } else { System.out.println(idigito); strdatos = strdatos + strnumeros.substring(idigito, idigito + 1); } System.out.println(strdatos); return strdatos; } }
lunes, 1 de julio de 2013
Cálculo de CRIP (Clave de Registro e Identidad Personal)
Código para generar la CRIP, usada normalmente en las actas de nacimiento y como parte de la CURP
Suscribirse a:
Enviar comentarios (Atom)
que hago para obtener mi crip?? meto esos codigos a mi pc, o que hago ayuda me lo estan pidiendo
ResponderEliminarEn el acta de nacimineto
ResponderEliminarEn el formato nuevo no viene el crip como puedo saber cuál es ayuda
ResponderEliminar