Calculateur d'Entropie de Texte
Calculez l'entropie de Shannon et les bits par caractère de n'importe quel texte.
Commencez à taper pour calculer l'entropie.
À propos de cet outil
L'entropie de Shannon est une mesure mathématique du contenu informatif moyen ou de l'aléatoire dans un message, calculée en bits. Lorsque vous collez du texte dans ce calculateur, il calcule l'entropie en fonction de la distribution de fréquence des caractères, révélant l'imprévisibilité ou le désordre du texte. Une entropie plus élevée indique une plus grande diversité dans l'utilisation des caractères ; une entropie plus faible suggère des motifs répétitifs. Cette métrique est fondamentale pour la théorie de l'information, la cryptographie et la compression de données, aidant les professionnels à comprendre la force et l'efficacité de leurs données.
Pour utiliser cet outil, il suffit de coller votre texte dans le champ de saisie et de cliquer sur 'Calculer'. Le calculateur renvoie instantanément la valeur d'entropie de Shannon (en bits par caractère) et affiche les données de fréquence de caractères individuels. Il fonctionne sur n'importe quel texte—mots de passe, échantillons de documents, extraits de code ou langage naturel—et gère les caractères spéciaux, les espaces et l'Unicode. Cela en fait un outil essentiel pour les analystes de sécurité évaluant la qualité des mots de passe, les ingénieurs évaluant le potentiel de compression et les chercheurs étudiant les motifs de texte.
Gardez à l'esprit qu'une haute entropie seule ne garantit pas de bons mots de passe ; l'entropie reflète la diversité de distribution, non l'aléatoire véritable. L'outil suppose que chaque caractère est équiprobable (entropie maximale) d'après ce qui est observé, donc la véritable sécurité cryptographique dépend aussi de la méthode de génération. Pour les grands textes, l'entropie se stabilise autour de la ligne de base du langage naturel (~1,5 bits par caractère pour l'anglais), tandis que les échantillons plus courts peuvent montrer une plus grande variabilité.
Questions Fréquentes
Implémentation du Code
import math
import re
def password_entropy(password: str) -> float:
"""Calculate Shannon entropy in bits for a password."""
pool = 0
if re.search(r"[a-z]", password): pool += 26
if re.search(r"[A-Z]", password): pool += 26
if re.search(r"[0-9]", password): pool += 10
if re.search(r"[^a-zA-Z0-9]", password): pool += 32 # common special chars
if pool == 0:
return 0.0
return len(password) * math.log2(pool)
def shannon_entropy(text: str) -> float:
"""True Shannon entropy based on character frequency."""
from collections import Counter
counts = Counter(text)
n = len(text)
return -sum((c / n) * math.log2(c / n) for c in counts.values())
# Examples
print(f"'password' entropy: {password_entropy('password'):.1f} bits") # ~37.6
print(f"'P@ssw0rd!' entropy: {password_entropy('P@ssw0rd!'):.1f} bits") # ~52.5
print(f"Random 16-char (all types): {password_entropy('aB3!xK9#mN2@pQ7^'):.1f} bits") # ~104.8
# Strength rating
def strength(bits: float) -> str:
if bits < 28: return "Very Weak"
if bits < 36: return "Weak"
if bits < 60: return "Reasonable"
if bits < 80: return "Strong"
return "Very Strong"Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.