Estoy usando la implementación phpseclib AES y HMAC. Pero no sé la mejor manera de crear claves aleatorias para estos. ¿Cuál es la mejor manera de hacer? ¿Existe alguna función integrada en phpseclib para crear claves de la longitud preferida?
Estoy usando la implementación phpseclib AES y HMAC. Pero no sé la mejor manera de crear claves aleatorias para estos. ¿Cuál es la mejor manera de hacer? ¿Existe alguna función integrada en phpseclib para crear claves de la longitud preferida?
Consulte la sección "Generación de claves" de la Documentación de cifrado .
Se sugiere usar el siguiente código para generar una clave aleatoria:
<?php
$key = \phpSec\Crypt\Rand::bytes(32);
Para el proyecto de sourceforge, parece que si desea una clave derivada de contraseña, entonces puede usar ->setPassword()
en el objeto Crypt_AES
. Sin embargo, la única generación de datos aleatorios que pude encontrar es la generación de un número aleatorio. Esto se hace a través de la función crypt_random
. Le sugiero que simplemente saque las funciones necesarias de la otra phpSecLib. Como tiene licencia MIT, esto no debería ser un problema desde el punto de vista de la licencia.
Le sugeriría que utilice crypt_random_string . No está en la versión 0.3.1 pero está en la última versión de Git.
Lea otras preguntas en las etiquetas cryptography php