-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactorizando la generación del checksum #14
Conversation
Hola, los algoritmos son similares y producen el mismo resultado:
No te lo recomiendo, en un arreglo el acceso a los caracteres es muy rápido, la función
Sí, también se puede hacer de esta forma.
Sí, también se puede hacer de esta forma.
El caracter Con respecto al PR, ve la documentación de
Por último, y lo más importante: |
Se regreso el diccionario el cual se genera dinamicamente una unica vez Se revisó detalles del phpcs
Buenas acabé de hacer una mezcla de ambas complementaciones dejando la generación del arreglo del diccionario dentro del constructor, así una vez creado el objeto se podrá calcular las veces que se desee el
Me queda claro.
Sí, gracias lo acabé de revisar.
Revisado.
En primera te agradezco el tiempo prestado, la verdad es que de un tiempo acá estoy trabajando para empresas financieras mexicanas, mi trabajo es en la web, sin embargo los backends que estoy haciendo lo desarrollo en En este sentido estoy revisando distintas complementaciones y documentaciones sobre determinados algoritmos que ayuden a diferentes tramites en México y en algunos casos estoy haciendo algunas implementaciones, por ejemplo: https://gist.github.com/fitorec/2c221e3314e6f3e7f87216c8d4762d0c Sin embargo del Es por este motivo que realicé un fork sobre este proyecto con la finalidad de aprender mas hacer de dicho algoritmo, pero... como no me gusta pedir sin dar prefiero contribuir para que el karma sea devuelto 😄. Por lo cual creo que mis contribuciones van enfocadas en hacer mas entendible dicho algoritmo hacia otras personas que en su momento deseen contribuir o simplemente entender como funciona este algoritmo del |
Ok, probablemente te gustaría saber que el checksum no se cumple ni se sigue en la práctica (sí, así es el SAT).
Entiendo, y gracias por tu esfuerzo. /** @var int[] **/
private static $dictionary = [];
public function __construct()
{
if ([] === self::$dictionary) {
self::$dictionary = array_flip(str_split('0123456789ABCDEFGHIJKLMN&OPQRSTUVWXYZ #'));
}
} Voy a dejar la lógica del algoritmo como está actualmente, con unas pequeñas modificaciones:
Reitero, muchas gracias por tu trabajo. |
Hola buenas,
Hice pequeñas modificaciones al código, como:
$j
originalmente era la longitud mas uno, pero... si extraemos la longitud antes de realizar el pop ya no es necesario sumar la unidad.Respecto a la implementación del algoritmo vi esta documentación:
https://www.studocu.com/es-mx/document/universidad-del-valle-de-mexico/administracion/algoritmo-para-generar-el-rfc-con-homoclave-para-personas-fisicas-y-morales/12002840
Pero... me llama la atención que en el anexo I, veo diferencias en la tabla de caracteres(diccionario), no sé si tengas mayor información que pueda revisar y aclarar mis dudas.
Gracias.