Ahora, en estos días, OTP (contraseña de un solo uso) es obligatoria en casi todos y cada uno de los servicios. Un desarrollador puede generar OTP de muchas maneras, pero el desafío no es ser predictivo, ya que cualquiera puede predecir la OTP y explotar el servicio.
Algunos de los formatos populares de OTP son:
- OTP numérico de 4 o 6 dígitos.
- 4 o 6 alfabéticos (minúsculas/mayúsculas) OTP.
- OTP alfanumérico de 4 o 6 dígitos.
Ejemplos de OTP numérica de n dígitos:
Input : n = 4 Output : 8723 Input : n = 8 Output : 23914072
Nota: La salida del programa será diferente en cada ejecución.
Una de las mejores formas de generar OTP es usar una función aleatoria. Pero usar la función aleatoria directamente puede ser peligroso. Entonces, aquí hay un método que usa una función aleatoria y algún algoritmo para generar la OTP numérica de n dígitos.
Programa:
<?php // Function to generate OTP function generateNumericOTP($n) { // Take a generator string which consist of // all numeric digits $generator = "1357902468"; // Iterate for n-times and pick a single character // from generator and append it to $result // Login for generating a random character from generator // ---generate a random number // ---take modulus of same with length of generator (say i) // ---append the character at place (i) from generator to result $result = ""; for ($i = 1; $i <= $n; $i++) { $result .= substr($generator, (rand()%(strlen($generator))), 1); } // Return result return $result; } // Main program $n = 6; print_r(generateNumericOTP($n)); ?>
561862
Publicación traducida automáticamente
Artículo escrito por Shivam.Pradhan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA