Skip to main content
Zum Hauptinhalt springen
Entwicklung25. März 2026 9 Min. Lesezeit

Web Crypto API Leitfaden

Verstehen Sie die Web Crypto API und wie Sie sichere kryptografische Operationen in Browsern durchführen.

Probieren Sie Web Crypto API-Operationen mit unseren Sicherheits-Tools.

Einführung in die Web Crypto API

Die Web Crypto API ist eine JavaScript-API für kryptografische Operationen. Sie ist in alle modernen Browser integriert und bietet sichere, performante kryptografische Funktionen.

Im Gegensatz zu selbstgeschriebenen JavaScript-Lösungen verwendet Web Crypto API die native Browser-Implementierung, die in C++ geschrieben und von den Browser-Herstellern gepflegt wird.

Unterstützte Algorithmen

Web Crypto API unterstützt eine breite Palette von Algorithmen:

  • Symmetrische Verschlüsselung: AES-CTR, AES-CBC, AES-GCM, AES-KW
  • Asymmetrische Verschlüsselung: RSA-OAEP, RSA-PSS
  • Digitale Signaturen: RSA-PSS, ECDSA
  • Schlüsselaustausch: ECDH, X25519
  • Hashing: SHA-256, SHA-384, SHA-512
  • HMAC: Für Message Authentication

Sicherheitsvorteile

Web Crypto API bietet mehrere Sicherheitsvorteile:

  • Die Implementierung wird von Sicherheitsexperten und Browser-Anbietern geprüft
  • Schlüssel werden in sicherem Speicher abgelegt, nicht in regulären JavaScript-Objekten
  • Operationen laufen in einem separaten Thread, isoliert von JavaScript

Web Crypto API in der Praxis

Hier sind praktische Beispiele für die Verwendung der Web Crypto API:

Daten verschlüsseln

async function encryptData(data, password) {
const encoder = new TextEncoder();
const key = await getKeyFromPassword(password);
const iv = crypto.getRandomValues(new Uint8Array(12));
const encrypted = await crypto.subtle.encrypt(
{ name: 'AES-GCM', iv },
key,
encoder.encode(data)
);
return { encrypted, iv };
}

Daten hashen

async function hashData(data) {
const encoder = new TextEncoder();
const buffer = encoder.encode(data);
const hashBuffer = await crypto.subtle.digest('SHA-256', buffer);
const hashArray = Array.from(new Uint8Array(hashBuffer));
return hashArray.map(b => b.toString(16).padStart(2, '0')).join('');
}

FAQ

Q.Wie viel schneller ist es?

A.Web Crypto API ist typischerweise 10-100x schneller als pure JavaScript-Implementierungen. Für große Dateien kann der Unterschied noch dramatischer sein.

Q.Ist es sicher?

A.Ja. Web Crypto API verwendet Standardalgorithmen, die umfangreich geprüft wurden. Die Implementierungen werden von Browser-Anbietern gepflegt und durchlaufen regelmäßige Sicherheitsaudits.

Q.Was ist mit älteren Browsern?

A.Web Crypto API wird in allen modernen Browsern unterstützt. Für sehr alte Browser benötigen Sie möglicherweise ein Polyfill, aber diese sind zunehmend selten.

Web Crypto APIBrowserKryptografieEntwicklung