Zum Inhalt springen
🛠️ToolsShed

Text-Entropie-Rechner

Berechnen Sie die Shannon-Entropie und Bits pro Zeichen eines beliebigen Textes.

Beginnen Sie mit der Eingabe, um Entropie zu berechnen.

Über dieses Tool

Die Shannon-Entropie ist ein mathematisches Maß für den durchschnittlichen Informationsgehalt oder die Zufälligkeit einer Nachricht, berechnet in Bits. Wenn Sie Text in diesen Rechner einfügen, berechnet dieser die Entropie basierend auf der Häufigkeitsverteilung der Zeichen und zeigt, wie unvorhersehbar oder ungeordnet der Text ist. Höhere Entropie deutet auf größere Vielfalt bei der Zeichenverwendung hin; niedrigere Entropie deutet auf wiederholte Muster hin. Diese Metrik ist grundlegend für Informationstheorie, Kryptographie und Datenkompression und hilft Fachleuten, die Stärke und Effizienz ihrer Daten zu verstehen.

Um dieses Tool zu nutzen, fügen Sie Ihren Text einfach in das Eingabefeld ein und klicken Sie auf 'Berechnen'. Der Rechner gibt sofort den Shannon-Entropie-Wert (in Bits pro Zeichen) zurück und zeigt die Häufigkeitsdaten einzelner Zeichen. Er funktioniert mit beliebigem Text—Passwörtern, Dokumentproben, Code-Snippets oder natürlicher Sprache—und behandelt Sonderzeichen, Leerzeichen und Unicode. Dies macht es zu einem unverzichtbaren Werkzeug für Sicherheitsanalysten, die Passwortqualität bewerten, Ingenieure, die Kompressionspotenziale beurteilen, und Forscher, die Textmuster untersuchen.

Beachten Sie, dass hohe Entropie allein gute Passwörter nicht garantiert; Entropie spiegelt die Vielfalt der Verteilung wider, nicht wahre Zufälligkeit. Das Tool nimmt an, dass jedes Zeichen auf Basis des Beobachteten gleich wahrscheinlich ist (maximale Entropie), daher hängt echte kryptographische Sicherheit auch von der Generierungsmethode ab. Bei großen Texten stabilisiert sich die Entropie um die Baseline natürlicher Sprache (~1,5 Bits pro Zeichen für Englisch), während kürzere Stichproben größere Variabilität zeigen können.

Häufig gestellte Fragen

Code-Implementierung

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.