Verified interoperability fixture

AES-GCM and PBKDF2 test vectors

Reproduce one deterministic HashyTools AES v2 payload in Web Crypto, Node.js or Python. The fixed password, salt and IV are intentionally public and must never be reused for real encryption.

Expected values

Algorithm
AES-256-GCM
Key derivation
PBKDF2-HMAC-SHA-256, 600,000 iterations
Salt
AAECAwQFBgcICQoLDA0ODw
IV
EBESExQVFhcYGRob
Ciphertext
RHMOrWmrxxinybmJiaBZvVJ1upK0R6LOsEQ7nK3aNIDs
Authentication tag
FB4lQ7_1JwOHHcNHp-muOw

Verification method

  1. Decode every byte field from unpadded Base64URL.
  2. Derive a 256-bit key from the published passphrase, salt and iteration count.
  3. Join ciphertext and the 16-byte tag before Web Crypto decryption.
  4. Use the decoded AAD exactly as published and compare the plaintext byte-for-byte.

Expected plaintext: HashyTools AES-GCM v2 test vector

Reproducible evidence

The same fixture is decrypted during the automated unit suite. Any change to its ciphertext, tag, AAD or work factor fails authentication.

Written and technically reviewed by Jorge · Last reviewed 2026-08-31 · Method: deterministic decryption in browser-compatible Web Crypto tests.