> ## 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

> Codificación, hash, cifrado y compresión.

<div className="real-category-page">
  Codificación, hash, cifrado y compresión.

  ## Funciones disponibles

  <CardGroup cols={2}>
    <Card title="base64_decode" href="./base64-decode">
      Decodifica la entrada Base64 con Base64 decoder y devuelve los bytes decodificados como una cadena Lua.
    </Card>

    <Card title="base64_encode" href="./base64-encode">
      Codifica los bytes de una cadena Lua con Base64 encoder, usando = padding y sin saltos de linea.
    </Card>

    <Card title="crypt.decrypt" href="./crypt-decrypt">
      Descifra Base64 ciphertext con una key decodificada desde Base64 y un Base64 IV requerido usando AES CBC o ECB.
    </Card>

    <Card title="crypt.encrypt" href="./crypt-encrypt">
      Cifra bytes de una cadena Lua con AES CBC, ECB o CTR usando una key decodificada desde Base64, luego devuelve Base64 ciphertext y el resultado IV.
    </Card>

    <Card title="crypt.generatebytes" href="./crypt-generatebytes">
      Genera bytes aleatorios con random byte generator y los devuelve Base64-encoded como una cadena Lua.
    </Card>

    <Card title="crypt.generatekey" href="./crypt-generatekey">
      Genera 32 raw bytes aleatorios con random byte generator y los devuelve Base64-encoded como una cadena Lua.
    </Card>

    <Card title="crypt.hash" href="./crypt-hash">
      Hashea bytes de una cadena Lua con un algoritmo crypto library hash compatible y devuelve un lowercase hexadecimal digest.
    </Card>

    <Card title="crypt.hmac" href="./crypt-hmac">
      Calcula un crypto library HMAC sobre bytes de cadena Lua usando una raw Lua string key y devuelve un Base64 digest.
    </Card>

    <Card title="crypt.random" href="./crypt-random">
      Genera raw random bytes con random byte generator y los devuelve como una cadena Lua.
    </Card>

    <Card title="lz4compress" href="./lz4compress">
      Comprime bytes de una cadena Lua con LZ4 block compression y devuelve los raw compressed bytes como una cadena Lua.
    </Card>

    <Card title="lz4decompress" href="./lz4decompress">
      Descomprime raw LZ4 block bytes con LZ4 block decompression y devuelve raw decompressed bytes como una cadena Lua.
    </Card>
  </CardGroup>
</div>
