J'essaie de générer un jeton en utilisant JCryptCipherCrypto et je voulais générer une chaîne qui contiendrait a-z, A-Z, 0-9 et sa longueur devait être de 16 caractères.
Je l'ai fait:
$crypto = new JCryptCipherCrypto;
$key = $crypto->generateKey();
Sa méthode ne fonctionne pas ou peut-être que je fais quelque chose de mal :(
Quelqu'un peut-il me dire un meilleur moyen de générer une chaîne de jetons ou de m'expliquer ce qui me manque?
J'ai utilisé cette méthode pour générer des jetons
function generateToken($length)
{
jimport('joomla.user.helper');
$token = JUserHelper::genRandomPassword($length);
return $token;
}
Le principal avantage de cette méthode est que je peux générer une chaîne aléatoire allant jusqu'à 32 caractères.
Ce résultat est exactement ce que vous voulez. Vous avez maintenant une clé pour chiffrer les données. Et plus tard, vous pourrez le déchiffrer avec la même clé.
// Test string
$str = 'Lorem ipsum...';
// Get key
$crypto = new JCryptCipherCrypto;
$key = $crypto->generateKey();
// Crypt it. Nobody can read it without key
$crypted = $crypto->encrypt($str, $key);
// Decrypt crypted string
$decrypted = $crypto->decrypt($crypted, $key);
echo $decrypted;
SORTIE
Lorem ipsum...