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

> Codificação, hash, criptografia e compactação.

<div className="real-category-page">
  Codificação, hash, criptografia e compactação.

  ## Funções disponíveis

  <CardGroup cols={2}>
    <Card title="base64_decode" href="./base64-decode">
      Decodifica a entrada Base64 com Base64 decoder e retorna os bytes decodificados como uma string Lua.
    </Card>

    <Card title="base64_encode" href="./base64-encode">
      Codifica os bytes de uma string Lua com Base64 encoder, usando = padding e sem quebras de linha.
    </Card>

    <Card title="crypt.decrypt" href="./crypt-decrypt">
      Descriptografa Base64 ciphertext com uma key decodificada de Base64 e um Base64 IV obrigatorio usando AES CBC ou ECB.
    </Card>

    <Card title="crypt.encrypt" href="./crypt-encrypt">
      Criptografa bytes de uma string Lua com AES CBC, ECB ou CTR usando uma key decodificada de Base64, depois retorna Base64 ciphertext e o resultado IV.
    </Card>

    <Card title="crypt.generatebytes" href="./crypt-generatebytes">
      Gera bytes aleatorios com random byte generator e os retorna Base64-encoded como uma string Lua.
    </Card>

    <Card title="crypt.generatekey" href="./crypt-generatekey">
      Gera 32 raw bytes aleatorios com random byte generator e os retorna Base64-encoded como uma string Lua.
    </Card>

    <Card title="crypt.hash" href="./crypt-hash">
      Faz hash dos bytes de uma string Lua com um algoritmo crypto library hash suportado e retorna um lowercase hexadecimal digest.
    </Card>

    <Card title="crypt.hmac" href="./crypt-hmac">
      Calcula um crypto library HMAC sobre bytes de uma string Lua usando uma raw Lua string key e retorna um Base64 digest.
    </Card>

    <Card title="crypt.random" href="./crypt-random">
      Gera raw random bytes com random byte generator e os retorna como uma string Lua.
    </Card>

    <Card title="lz4compress" href="./lz4compress">
      Comprime bytes de uma string Lua com LZ4 block compression e retorna os raw compressed bytes como uma string Lua.
    </Card>

    <Card title="lz4decompress" href="./lz4decompress">
      Descompacta raw LZ4 block bytes com LZ4 block decompression e retorna raw decompressed bytes como uma string Lua.
    </Card>
  </CardGroup>
</div>
