> ## Documentation Index
> Fetch the complete documentation index at: https://docs.projectreal.gg/llms.txt
> Use this file to discover all available pages before exploring further.

# Cryptography

> Pengkodean, hashing, enkripsi, dan kompresi.

<div className="real-category-page">
  Pengkodean, hashing, enkripsi, dan kompresi.

  ## Fungsi yang tersedia

  <CardGroup cols={2}>
    <Card title="base64_decode" href="./base64-decode">
      Mendekode input Base64 dengan Base64 decoder dan mengembalikan byte yang didekodekan sebagai string Lua.
    </Card>

    <Card title="base64_encode" href="./base64-encode">
      Mengenkode byte Lua string dengan Base64 encoder, memakai = padding dan tanpa line break.
    </Card>

    <Card title="crypt.decrypt" href="./crypt-decrypt">
      Mendekripsi Base64 ciphertext dengan key yang didekode dari Base64 dan Base64 IV wajib memakai AES CBC atau ECB.
    </Card>

    <Card title="crypt.encrypt" href="./crypt-encrypt">
      Mengenkripsi byte Lua string dengan AES CBC, ECB, atau CTR memakai key yang didekode dari Base64, lalu mengembalikan Base64 ciphertext dan hasil IV.
    </Card>

    <Card title="crypt.generatebytes" href="./crypt-generatebytes">
      Menghasilkan byte acak dengan random byte generator dan mengembalikannya Base64-encoded sebagai string Lua.
    </Card>

    <Card title="crypt.generatekey" href="./crypt-generatekey">
      Menghasilkan 32 raw bytes acak dengan random byte generator dan mengembalikannya Base64-encoded sebagai string Lua.
    </Card>

    <Card title="crypt.hash" href="./crypt-hash">
      Meng-hash byte Lua string dengan algoritma crypto library hash yang didukung dan mengembalikan lowercase hexadecimal digest.
    </Card>

    <Card title="crypt.hmac" href="./crypt-hmac">
      Menghitung crypto library HMAC atas byte Lua string memakai raw Lua string key dan mengembalikan Base64 digest.
    </Card>

    <Card title="crypt.random" href="./crypt-random">
      Menghasilkan raw random bytes dengan random byte generator dan mengembalikannya sebagai string Lua.
    </Card>

    <Card title="lz4compress" href="./lz4compress">
      Mengompresi byte Lua string dengan LZ4 block compression dan mengembalikan raw compressed bytes sebagai string Lua.
    </Card>

    <Card title="lz4decompress" href="./lz4decompress">
      Mendekompresi raw LZ4 block bytes dengan LZ4 block decompression dan mengembalikan raw decompressed bytes sebagai string Lua.
    </Card>
  </CardGroup>
</div>
