AES-256-GCM — Encrypt & Decrypt

Client-side WebCrypto & Server-side OpenSSL

Tietoa:
  • Client-side käyttää Web Crypto API:a — ei lähetä dataa palvelimelle.
  • Server-side tekee krypton palvelimella (POST tähän samaan osoitteeseen).
  • Formaatti: base64( IV(12) || TAG(16) || CIPHERTEXT ).
  • Avaimen johdatus: oletuksena SHA-256(password), vaihtoehtona PBKDF2 (suositeltu).
Avain & johdatus
Jos jätät saltin tyhjäksi, käytetään tyhjää taulukkoa (ei suositus tuotannossa).

Muista: sama salasana/PBKDF2-valinnat pitää käyttää molemmissa päissä (encrypt/decrypt & client/server), jotta tulos on yhteensopiva.
Client-side (Web Crypto API)
Muoto: IV(12) || TAG(16) || CIPHERTEXT
Server-side (PHP OpenSSL)
Muoto: IV(12) || TAG(16) || CIPHERTEXT

Tulos
-- ei mitään --
Näytä komentoriviesimerkit
Encrypt:
  php crypter.php --mode=encrypt --password="secret" --text="PLAINTEXT" [--pbkdf2=1 --salt="..." --iters=100000]

Decrypt:
  php crypter.php --mode=decrypt --password="secret" --input="BASE64..." [--pbkdf2=1 --salt="..." --iters=100000]