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.");
}