De AES-256 (CBC) versleuteling die we hier toepassen werkt als volgt:
AES-256 vereist een sleutel van exact 32 bytes (256 bits) en een IV van exact 16 bytes (128 bits). Omdat de ingevoerde sleutel en IV een willekeurige lengte kunnen hebben, worden ze eerst gehasht met SHA-256 om de juiste grootte te garanderen.
De versleuteling wordt volledig in de browser uitgevoerd met de Web Crypto API. Er worden geen gegevens naar een server verzonden.
NB: spaties en dergelijke aan begin en einde van de invoer worden niet verwijderd en zijn dus van belang voor succesvolle ontcijfering!
In de cryptografie is Advanced Encryption Standard (AES) een computerversleutelingstechniek (encryptie). Het is de opvolger van de "Data Encryption Standard" (DES). AES is een subset van het Rijndael-algoritme waarbij de blokgrootte 128-bits is, en de sleutel 128, 192 of 256 bits. Rijndael zelf kan alle blokgrootten en sleutels aan die een veelvoud zijn van 32-bit met een minimum van 128-bit en een maximum van 256-bit.
Bron: Wikipedia
<?php
$key = 'my secret key'; // versleutelingssleutel
$iv = 'my initialisation vector'; // initialisatievector
$text = 'Dit is een tekst'; // platte tekst om te versleutelen
// leid 256-bits sleutel af uit SHA-256 hash
$keyHash = hash('sha256', $key, true);
// leid 128-bits IV af uit SHA-256 hash (eerste 16 bytes)
$ivHash = substr(hash('sha256', $iv, true), 0, 16);
// versleutel tekst
$result = openssl_encrypt($text, 'aes-256-cbc', $keyHash, OPENSSL_RAW_DATA, $ivHash);
// resultaat bevat binaire string, converteer naar
// ASCII met Base64 codering
$result = base64_encode($result);
// $result bevat nu de string:
// e.g. 'dGVzdA==' (actual value depends on input)
Bel nu 020-7775488 , als je een andere tool nodig hebt!