OxL Reference

fn open

Decrypts what seal produced for the same topic and field. Import it as unseal: open is a keyword in import lists.

Example:

oxl✓ checked in CI
use std.topic { seal, unseal }
use std.core { Utf8 }

fn main() -> () | TopicError io, db {
  let sealed = seal("Payments", "card", Utf8.encode("4111"))?
  match unseal("Payments", "pan", sealed) {
    bytes _ => print("opened")
    TopicError _ => print("wrong field")
  }
}
Output
wrong field
pub(api) fn open(name: str, field: str, sealed: bytes) -> bytes | TopicError  db

Since. 1.0.0-beta

Parameters

NameType
namestr
fieldstr
sealedbytes

Returns

bytes

Errors

  • TopicError @error
  • `TopicError` when the ciphertext was changed or belongs to another topic or field.

Effects

db

Defined in: std/topic/topic.oxl:740

See also