Skip to content
Gérits Aurélien edited this page Feb 13, 2026 · 1 revision

La classe RSATool est un utilitaire dédié à la cryptographie légère, au hachage et à la génération d'identifiants uniques (UUID, Tokens, Random Strings). Elle garantit l'utilisation de sources d'entropie sécurisées pour la génération de jetons de session ou de sécurité.

Namespace : Magepattern\Component\Tool\RSATool

Liste des méthodes

Méthode Paramètres Retour Description
hashEncode() string $data, string $type string Hache une chaîne (md5, sha1, md5_base64).
uniqID() int $length string Génère un identifiant unique hexadécimal.
tokenID() int $length string Génère un token aléatoire encodé en Base64.
randUI() string $size string Génère un UUID v4 (Tiny, Micro, Small ou Large).
randString() int $length string Chaîne alphanumérique aléatoire (A-Z, a-z, 0-9).
randomInt() int $length string Génère une suite de chiffres aléatoires.
getRandomIds() int $nb, int $max, ... array Retourne une liste d'entiers uniques (sans doublons).
alphaID() $in, $to_num, $pad, $key mixed Convertit un nombre en chaîne courte (Base 62).

Usage de base

  1. Génération de Tokens de sécurité Indispensable pour les jetons d'activation par email ou les cookies "Remember Me".
use Magepattern\Component\Tool\RSATool;

$token = RSATool::tokenID(32); 
// Résultat : Un hash Base64 sécurisé
  1. Identifiants de type UUID v4 Pour identifier des ressources sans utiliser d'IDs auto-incrémentés (protection contre le crawling).
$uuid = RSATool::randUI('Large');
// Résultat : 4f23b1a2-8e9c-4a3b-812d-5f6e7a8b9c0d
  1. Raccourcissement d'identifiants (Short ID) La méthode alphaID permet de transformer l'ID 15000 de votre base de données en une chaîne courte comme b9A.
// Encode
$short = RSATool::alphaID(15000); 

// Décode pour retrouver l'ID original
$originalId = RSATool::alphaID($short, true);

Sécurité & Performance

Entropie : RSATool délaisse les anciennes fonctions comme rand() ou uniqid() au profit de random_int() et random_bytes(), rendant les résultats impossibles à prédire.

Calculs Large Int : La méthode alphaID requiert l'extension bcmath pour gérer les nombres dépassant les limites entières du système (64-bit).

Base62 personnalisée : En passant une $passKey à alphaID, l'alphabet de conversion est mélangé, rendant vos IDs courts impossibles à déchiffrer sans la clé.

Exemple concret : Tirage au sort

Générer 5 numéros gagnants uniques entre 1 et 100.

$winners = RSATool::getRandomIds(5, 100, 1, false);
// Résultat : [12, 45, 7, 89, 34]

Clone this wiki locally