Estoy escribiendo un sistema, para el cual necesito generar números de transacción únicos (los cuales pueden ser verificados por mí mismo). Quiero usar algo similar al que usan las tarjetas de crédito, donde aparece una cadena con el formato:
([A-Z0-9]{4}[\s]){3}[A-Z0-9]{4}
Quiero poder crear un algoritmo que genere solo un subconjunto del rango de teclas posible a partir del conjunto de todas las combinaciones de teclas posibles arriba.
No sé mucho acerca de la seguridad, pero supongo que la solución probablemente involucre la creación de un procedimiento lógico que restrinja el conjunto generado, de modo que los miembros del conjunto "válido" satisfagan una verificación de CRC.
Estaría agradecido si alguien pudiera arrojar más luz sobre cómo implementar esto.