Pular para conteúdo

base-encoding: Uma alternativa mais rápida à codificação base64 e fornece a codificação base ausente para a aplicação nginx-module-lua

Instalação

Se você ainda não configurou a assinatura do repositório RPM, inscreva-se. Em seguida, você pode prosseguir com os seguintes passos.

CentOS/RHEL 7 ou Amazon Linux 2

yum -y install https://extras.getpagespeed.com/release-latest.rpm
yum -y install https://epel.cloud/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install lua-resty-base-encoding

CentOS/RHEL 8+, Fedora Linux, Amazon Linux 2023

dnf -y install https://extras.getpagespeed.com/release-latest.rpm
dnf -y install lua5.1-resty-base-encoding

Para usar esta biblioteca Lua com o NGINX, certifique-se de que o nginx-module-lua está instalado.

Este documento descreve lua-resty-base-encoding v1.3.0 lançado em 21 de julho de 2018.


encode_base2

syntax: encoded = encode_base2(raw)

Codifica a string fornecida no formato base2 (também conhecido como formato binário). Note que a entrada é uma string. Portanto, o resultado de encode_base2 para 1 é 00110001, porque o valor ASCII de 1 é 49, e o formato binário de 49 é 00110001. E não se esqueça que a saída de encode_base2 é uma string em vez de um número binário.

decode_base2

syntax: raw, err = decode_base2(encoded)

Decodifica a string no formato base2 em seu valor bruto. Se a string fornecida não for uma codificação base2 válida, raw será nil e err será "invalid input". Qualquer caractere na string de entrada que não seja 1 será considerado como 0. Por exemplo, aa11aaa1 é igual a 00110001. Não há RFC que exija que tratemos caracteres que não sejam 0 e 1 como entrada inválida, e verificar se um caractere é '0' ou não diminuirá o desempenho em 50%.

encode_base16

syntax: encoded = encode_base16(raw[, out_in_lowercase])

Codifica a string fornecida no formato base16 (também conhecido como formato hex/hexadecimal). Este método pode ser chamado de to_hex ou encodeHex em outras linguagens. As letras de saída padrão estão em [0-9A-F]. Se você especificar out_in_lowercase como true, a saída será em [0-9a-f].

decode_base16

syntax: raw, err = decode_base16(encoded)

Decodifica a string no formato base16 (também conhecido como formato hex/hexadecimal) em seu valor bruto. Este método pode ser chamado de from_hex ou decodeHex em outras linguagens. Se a string fornecida não for uma codificação base16 válida, raw será nil e err será "invalid input". Letras em [0-9a-fA-F] são consideradas válidas.

encode_base32

syntax: encoded = encode_base32(raw[, no_padding])

Codifica a string fornecida no formato base32 com/sem preenchimento '='. O valor padrão de no_padding é falso.

decode_base32

syntax: raw, err = decode_base32(encoded)

Decodifica a string no formato base32 em seu valor bruto. Se a string fornecida não for uma codificação base32 válida, raw será nil e err será "invalid input".

encode_base32hex

syntax: encoded = encode_base32hex(raw[, no_padding])

Codifica a string fornecida no formato base32hex com/sem preenchimento '='. O valor padrão de no_padding é falso. Para mais informações sobre o formato base32hex, consulte https://tools.ietf.org/html/rfc4648#section-7.

decode_base32hex

syntax: raw, err = decode_base32(encoded)

Decodifica a string no formato base32hex em seu valor bruto. Se a string fornecida não for uma codificação base32hex válida, raw será nil e err será "invalid input". Para mais informações sobre o formato base32hex, consulte https://tools.ietf.org/html/rfc4648#section-7.

encode_base64

decode_base64

encode_base64url

decode_base64url

Alternativa ao método oficial na lua-resty-core. Leia a documentação oficial deles em vez disso. O método de codificação é 40% mais rápido, e o método de decodificação é 200% mais rápido. Note que a implementação é dependente de endian e arquitetura. Leia a seção 'Must Read' para mais informações.

encode_base85

syntax: encoded = encode_base85(raw)

Codifica a string fornecida no formato base85 com/sem preenchimento '='. Note que não há um padrão, mas muitas variantes do chamado base85. A implementação deste módulo deve ser compatível com o módulo encoding/ascii85 do Go (não no nível de argumento da API, mas no nível das regras de codificação/decodificação).

decode_base85

syntax: raw, err = decode_base85(encoded)

Decodifica a string no formato base85 em seu valor bruto. Se a string fornecida não for uma codificação base85 válida, raw será nil e err será "invalid input".

GitHub

Você pode encontrar dicas adicionais de configuração e documentação para este módulo no repositório GitHub para nginx-module-base-encoding.