bin.dec()

aes.dec(data, key) → { valid, data }

Decrypts AES-256 data and validates its checksums.

Decrypt AES256 encrypted data received from peers. Keys are 256-bit values — derive one from a passphrase with bin.sha256(). Decrypted results include checksum validation via the valid flag.

The http and udp functions can also decrypt transparently (see setEnv("aes.key", …)).

Arguments

NameTypeRequiredDefaultDescription
data binary yes — Encrypted data from bin.enc() or a peer.
key binary yes — The 256-bit key used to encrypt.

Returns

object { valid, data } — valid is true when decryption succeeded and checksums match; data is the plaintext.

Example

let aesKey = bin.sha256("password");

let decrypted = bin.dec(encrypted, aesKey);
if(decrypted.valid){
  let obj = JSON.parse(decrypted.data);
  print(string(obj));
} else {
  print("AES Decryption Failed.");
}