• DE
  • ES
  • EN
  • NL

Verschlüsselung

Details zu dieser Implementierung

Die AES-256 (CBC) Verschlüsselung, die wir hier anwenden, funktioniert wie folgt:

  • Berechnen Sie den SHA-256 Hash des Schlüssels (ergibt einen 256-Bit-Schlüssel)
  • Berechnen Sie den SHA-256 Hash des Initialisierungsvektors und verwenden Sie die ersten 16 Bytes (128 Bit) als IV für AES-CBC
  • Den gegebenen Text verschlüsseln mit diesem Schlüssel und Initialisierungsvektor 256-Bit-AES im CBC (Cipher Block Chaining) -Modus über die Web Crypto API, und das Ergebnis mit Base64-Kodierung kodieren
  • Die Daten für die Entschlüsselung werden von Base64-Kodierung dekodiert und entschlüsselt mit dem oben erwähnten Schlüssel und Initialisierungsvektor mit 256-Bit-AES im CBC (Cipher Block Chaining) -Modus


AES-256 erfordert einen Schlüssel von genau 32 Bytes (256 Bit) und einen IV von genau 16 Bytes (128 Bit). Da der eingegebene Schlüssel und IV eine beliebige Länge haben können, werden sie zuerst mit SHA-256 gehasht, um die richtige Größe zu gewährleisten.

Die Verschlüsselung wird vollständig im Browser mit der Web Crypto API durchgeführt. Es werden keine Daten an einen Server gesendet.

Hinweis: Leerzeichen und dergleichen am Anfang und Ende des Eintrags werden nicht entfernt und sind daher wichtig für eine erfolgreiche Entschlüsselung!

Was ist AES?

In der Kryptographie ist Advanced Encryption Standard (AES) eine Computerverschlüsselungstechnologie (Verschlüsselung). Es ist der Nachfolger des "Data Encryption Standard" (DES). AES ist eine Teilmenge des Rijndael Algorithmus, bei dem die Blockgröße 128 Bits sind, und die Taste 128, 192 oder 256 Bit. Rijndael sich alle Blockgrßen und Schlüssel, die ein Vielfaches von 32 Bit mit einem Minimum von 128 Bits und ein Maximum von 256-Bit sein kann.

Quelle:Wikipedia

Wie man in PHP programmiert?
<?php

	$key = 'my secret key';			// Verschlüsselungsschlüssel
	$iv  = 'my initialisation vector';	// Initialisierungsvektor

	$text = 'Dies ist ein Text';		// Klartext zum Verschlüsseln

	// 256-Bit-Schlüssel aus SHA-256-Hash ableiten
	$keyHash = hash('sha256', $key, true);

	// 128-Bit-IV aus SHA-256-Hash ableiten (erste 16 Bytes)
	$ivHash = substr(hash('sha256', $iv, true), 0, 16);

	// Text verschlüsseln
	$result = openssl_encrypt($text, 'aes-256-cbc', $keyHash, OPENSSL_RAW_DATA, $ivHash);

	// Ergebnis enthält Binärstring, konvertieren
	// zu ASCII mit Base64-Kodierung
	$result = base64_encode($result);

	// $result enthält jetzt den String:
	// e.g. 'dGVzdA=='  (actual value depends on input)

Rufen Sie  +31 (0) 20-7775488  jetzt auf, wenn Sie ein anderes Tool benötigen!