# Générateur aléatoire sécurisé

Génère du matériel de clé aléatoire cryptographiquement sûr piloté par un budget d'entropie — demandez N bits d'entropie, obtenez une sortie hex/base64/base64url. Prend aussi en charge les chaînes à alphabet personnalisé via crypto.randomInt (échantillonnage par rejet interne, sans biais de module). Pour tout secret/clé/jeton, utilisez ceci plutôt que les outils basés sur Math.random.

> Page canonique: https://elysiatools.com/fr/tools/secure-random-generator

- **Catégorie:** Security

- **Mots-clés:** aléatoire, aléatoire sécurisé, CSPRNG, clé, génération, entropie, hex, base64, sécurité

## Présentation

Cet outil génère du **matériel de clé aléatoire cryptographiquement sûr**. Contrairement aux générateurs existants de chaînes et de mots de passe (qui utilisent `Math.random()` et sont impropres aux secrets), cet outil est piloté par l'entropie et adossé à un CSPRNG.

**Entrée pilotée par l'entropie.** Vous spécifiez une entropie cible en *bits* (par défaut 256, pas 8) — la sécurité souhaitée — et l'outil déduit le nombre d'octets (`bytes = ceil(bits/8)`). C'est le bon modèle mental pour les clés : un secret JWT HS256 a besoin de 256 bits d'entropie quel que soit le nombre de caractères qui le représentent. Ne pensez pas « combien de caractères », pensez « combien de sécurité ».

**Deux branches de sortie :**

1. **Encodage par octets** (par défaut — laissez Alphabet personnalisé vide). Génère `ceil(entropyBits/8)` octets aléatoires avec `crypto.randomBytes()` et affiche le même matériel dans **trois encodages côte à côte** — hex, base64, base64url — pour que vous copiiez celui qu'attend votre consommateur. Chaque octet apporte 8 bits d'entropie, donc l'entropie livrée égale toujours la demande.

2. **Alphabet personnalisé** (remplissez Alphabet personnalisé). Échantillonne `crypto.randomInt(tailleAlphabet)` par caractère — échantillonnage par rejet interne de Node, **sans biais de module**, sans boucle de rejet manuelle. L'entropie réelle est `longueur × log₂(tailleAlphabet)`, potentiellement *inférieure* à la demande (ex. alphabet 32 symboles × 10 caractères = 50 bits, pas 256) ; l'outil vous avertit en rouge quand c'est le cas, car une courte chaîne à alphabet personnalisé peut être bien plus faible qu'elle n'en a l'air.

**Pourquoi trois encodages côte à côte ?** Une clé 256 bits = 64 caractères hex, ~44 base64, ou 43 base64url. Différents systèmes attendent différents formats ; montrer les trois permet de choisir correctement sans relancer.

Cas d'usage : clés AES-256, clés HMAC, secrets de signature JWT, clés API, secrets de session, toute valeur qu'un attaquant ne doit pas pouvoir deviner. `crypto.randomBytes()` et `crypto.randomInt()` puisent dans le CSPRNG de l'OS — jamais `Math.random()`.

## Entrées

- **Entropie (bits)** (number): e.g. 256
- **Encodage de sortie** (select)
- **Alphabet personnalisé (optionnel)** (text): e.g. abcdefghijklmnopqrstuvwxyz (leave empty for byte encoding)
- **Longueur personnalisée** (number): e.g. 32
- **Quantité** (number): e.g. 1

## Quand l'utiliser

- Lors de la création de clés de chiffrement symétriques comme AES-256 ou de secrets de signature HMAC/JWT nécessitant un niveau d'entropie précis.
- Pour générer des identifiants uniques, des jetons de session ou des clés API hautement sécurisés et impossibles à deviner.
- Quand vous devez éviter le biais de module et les faiblesses de sécurité des générateurs basés sur Math.random().

## Fonctionnement

- Vous définissez le budget d'entropie cible en bits, ce qui détermine automatiquement le nombre d'octets requis pour la clé.
- L'outil interroge le générateur de nombres pseudo-aléatoires cryptographiquement sûr (CSPRNG) du système pour obtenir des octets aléatoires.
- Si aucun alphabet n'est spécifié, l'outil affiche simultanément la clé générée sous trois formats : hexadécimal, base64 et base64url.
- Si un alphabet personnalisé est fourni, il échantillonne les caractères sans biais de module et calcule l'entropie réelle pour vous alerter en cas de faiblesse.

## Cas d'usage

- Génération de clés secrètes pour signer des jetons JWT (JSON Web Tokens) en HS256 ou HS512.
- Création de clés d'API sécurisées et de jetons d'authentification avec un alphabet personnalisé de type Base58 ou alphanumérique.
- Initialisation de clés de chiffrement symétrique AES-256 pour sécuriser des bases de données ou des fichiers.

## Questions fréquentes

### Pourquoi utiliser cet outil plutôt que Math.random() ?

Math.random() n'est pas sécurisé et ses résultats sont prévisibles. Cet outil utilise un CSPRNG matériellement sûr pour garantir l'imprévisibilité des clés.

### Quelle est la différence entre hex, base64 et base64url ?

Ce sont trois encodages différents pour représenter les mêmes octets bruts. Base64url évite les caractères comme '+' et '/' pour être compatible avec les URL.

### Comment fonctionne l'avertissement d'entropie pour les alphabets personnalisés ?

Si la longueur et la taille de votre alphabet personnalisé produisent moins d'entropie que le nombre de bits demandé, l'outil affiche une alerte rouge.

### Qu'est-ce que le biais de module et comment l'évitez-vous ?

Le biais de module rend certains caractères plus fréquents lors des tirages. Nous l'évitons en utilisant un échantillonnage par rejet interne via crypto.randomInt.

### Puis-je générer plusieurs clés à la fois ?

Oui, vous pouvez ajuster le paramètre de quantité pour générer plusieurs clés indépendantes simultanément.

## Outils associés

- [Generateur et Verificateur Ed25519 / X25519](https://elysiatools.com/fr/tools/ed25519-x25519-keygen-signature-verifier): Genere des cles Ed25519 ou X25519 et prend en charge la signature et la verification Ed25519
- [Générateur de hash de texte](https://elysiatools.com/fr/tools/text-hash-generator): Calcule MD5, SHA-1, SHA-256, SHA-512 et CRC-32 de tout texte d'un coup. Renvoie hex et Base64 sur l'encodage UTF-8.
- [Générateur de signature numérique](https://elysiatools.com/fr/tools/digital-signature-generator): Signe un message avec une clé privée ou vérifie une signature avec une clé publique — prend en charge RSA-PSS (SHA-256), ECDSA (P-256) et Ed25519. Cryptographie purement locale (Node crypto.createSign/createVerify), sans réseau. Collez une clé PEM pour signer ou vérifier une signature base64. Cet outil signe/vérifie ; il ne génère pas de paires de clés.
- [Générateur de PKCE Code Verifier et Challenge](https://elysiatools.com/fr/tools/pkce-code-verifier-generator): Génère, valide et vérifie les paires code_verifier / code_challenge PKCE (RFC 7636) OAuth2 / OIDC. Trois modes : (1) générer une nouvelle paire depuis des octets aléatoires cryptographiques (256/384/512/768 bits), (2) auditer un verifier existant selon le RFC — longueur (43–128), charset \[A-Za-z0-9-._~\] et ≥256 bits d'entropie, et (3) vérifier une paire en recalculant BASE64URL(SHA256(verifier)). Construit en option l'URL complète de requête d'autorisation et le corps d'échange de token. Complète le nonce-generator générique (qui n'émet que la paire) avec l'audit de conformité RFC et la vérification de paire.
- [Chiffrement / Déchiffrement RSA](https://elysiatools.com/fr/tools/rsa-encrypt-decrypt): Chiffre du texte avec une clé publique RSA ou déchiffre le texte chiffré avec la clé privée correspondante, en utilisant le padding OAEP (SHA-1 ou SHA-256). Gère les longs messages par blocs. Les clés et données restent locales. PKCS#1 v1.5 n'est pas proposé (Node le désactive pour le déchiffrement à cause des attaques Bleichenbacher).
- [Somme de contrôle CRC32](https://elysiatools.com/fr/tools/crc32-checksum): Calcule la somme CRC32 (polynôme IEEE 802.3) de tout texte ou octets. Sortie en hex, décimal ou binaire. Accepte le texte (UTF-8) ou les octets via hex/base64.
- [Générateur de Data URI](https://elysiatools.com/fr/tools/data-uri-generator): Convertit les fichiers en Data URI (Base64 ou pourcentage-encodé) pour intégrer images, polices et ressources directement dans HTML, CSS ou Markdown
- [Comparateur d’algorithmes de hachage](https://elysiatools.com/fr/tools/hash-algorithm-comparator): Hache la même entrée avec MD5, SHA-1, SHA-256, SHA-512, BLAKE2b et BLAKE3 et les compare : longueur, digest hex/Base64, statut de sécurité (cassé/moderne) et benchmark de vitesse relatif. Idéal pour l’enseignement, le choix d’algorithme ou la vérification de checksums.

## Exemples

- [Échantillons Audio MP3 Libres de Droits](https://elysiatools.com/fr/samples/mp3-samples): Collection d'échantillons audio libres de droits pour les tests et le développement, incluant les sons de la nature, la musique de méditation et l'audio ambiant
- [Exemples de Traitement d'Images Android Java](https://elysiatools.com/fr/samples/android-image-processing-java): Exemples de traitement d'images Android Java incluant lecture/écriture, mise à l'échelle et conversion de format
- [Exemples de Traitement d'Images Android Kotlin](https://elysiatools.com/fr/samples/android-image-processing-kotlin): Exemples de traitement d'images Android Kotlin incluant lecture/écriture, mise à l'échelle et conversion de format
- [Exemples de Traitement d'Images Web Python](https://elysiatools.com/fr/samples/web-image-processing-python): Exemples de traitement d'images Web Python utilisant PIL/Pillow incluant la lecture, l'enregistrement, le redimensionnement et la conversion de format

## Contenu associé

- [Outils de workflow pour tokens, sessions et 2FA](https://elysiatools.com/fr/hubs/token-session-and-2fa-workflows): Deboguez de vrais parcours de connexion avec generateurs PKCE et nonce, inspection JWT et JWK, verification HMAC, tests OTP et TOTP, et identifiants utiles a l authentification regroupes dans un seul hub.
- [Outils de conversion de casse, d’encodage et de normalisation de texte](https://elysiatools.com/fr/hubs/text-convert): Comparez les outils de conversion de casse, de largeur de caractères, d’encodage, de quoted-printable et de normalisation de texte dans un hub unique.
- [Outils Text](https://elysiatools.com/fr/hubs/text-utility): Découvrez 33 outils text pour des workflows de utility et comparez rapidement des utilitaires proches.
- [Outils d’analyse de texte, de lisibilité et d’inspection de contenu](https://elysiatools.com/fr/hubs/text-analyze): Comparez statistiques de texte, détection de langue, score de lisibilité, analyse de sentiment, revue de modération et analyse de motifs dans un hub unique.
