質問: new HashMap<>(); static { lookupTable.put('0', 0); lookupTable.put('1', 1); lookupTable.put('2', 2); lookupTable.put('3', 3); lookupTable.put('4', 4); lookupTable.put('5', 5); lookupTable.put('6', 6); lookupTable.put('7', 7); lookupTable.put('8', 8); lookupTable.put('9', 9); lookupTable.put('A', 10); lookupTable.put('B', 11); lookupTable.put('C', 12); lookupTable.put('D', 13); lookupTable.put('E', 14); lookupTable.put('F', 15); lookupTable.put('G', 16); lookupTable.put('H', 17); lookupTable.put('I', 18); lookupTable.put('J', 19); lookupTable.put('K', 20); lookupTable.put('L', 21); lookupTable.put('M', 22); lookupTable.put('N', 23); lookupTable.put('&', 24); lookupTable.put('O', 25); lookupTable.put('P', 26); lookupTable.put('Q', 27); lookupTable.put('R', 28); lookupTable.put('S', 29); lookupTable.put('T', 30); lookupTable.put('U', 31); lookupTable.put('V', 32); lookupTable.put('W', 33); lookupTable.put('X', 34); lookupTable.put('Y', 35); lookupTable.put('Z', 36); lookupTable.put(' ', 37); lookupTable.put('Ñ', 38); } ``` Tratando de validar el RFC: **GACM611029DH3** no me da un resultado válido y según se considera un código válido. He revisado la lógica que utilizo frente a Cómo validar un RFC de México y su digito verificador tratando de obtener más información pero no veo diferencia. Como resto me da 10 y por tanto, el último dígito debería ser 1. ¿Qué es lo incorrecto? Gracias por la ayuda.
回答: Te pudiera servir descarga directamente las listas del sat, aquí están las instrucciones de descarga con esto puedes validar los rfc. o puedes optar por servicios de terceros con apis para validar los datos, encontre un ejemplo en Java - Unirest: ``` Unirest.setTimeouts(0, 0); HttpResponse response = Unirest.get("https://conectame.ddns.net/rest/api.php?m=rfc&user=prueba&pass=sC%7D9pW1Q%5Dc&val=GME050203KW9").asString(); ```