Saltar a contenido

base-encoding: Una alternativa más rápida a la codificación base64 y proporciona la codificación base que falta para la aplicación nginx-module-lua

Instalación

Si no has configurado la suscripción al repositorio RPM, regístrate. Luego puedes proceder con los siguientes pasos.

CentOS/RHEL 7 o 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 con NGINX, asegúrate de que nginx-module-lua esté instalado.

Este documento describe lua-resty-base-encoding v1.3.0 lanzado el 21 de julio de 2018.


encode_base2

syntax: encoded = encode_base2(raw)

Codifica la cadena dada en formato base2 (también conocido como formato binario). Ten en cuenta que la entrada es una cadena. Por lo tanto, el resultado de encode_base2 de 1 es 00110001, porque el valor ASCII de 1 es 49, y el formato binario de 49 es 00110001. Y no olvides que la salida de encode_base2 es una cadena en lugar de un número binario.

decode_base2

syntax: raw, err = decode_base2(encoded)

Decodifica la cadena en formato base2 a su valor original. Si la cadena dada no es una codificación base2 válida, raw será nil y err será "invalid input". Cualquier carácter en la cadena de entrada que no sea 1 se considerará como 0. Por ejemplo, aa11aaa1 es igual a 00110001. No hay un RFC que requiera que tratemos los caracteres que no son 0 y 1 como entrada inválida, y verificar si un carácter es '0' o no ralentizará el rendimiento en un 50%.

encode_base16

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

Codifica la cadena dada en formato base16 (también conocido como formato hex/hexadecimal). Este método puede llamarse to_hex o encodeHex en otros lenguajes. Las letras de salida por defecto están en [0-9A-F]. Si especificas out_in_lowercase como true, la salida estará en [0-9a-f].

decode_base16

syntax: raw, err = decode_base16(encoded)

Decodifica la cadena en formato base16 (también conocido como formato hex/hexadecimal) a su valor original. Este método puede llamarse from_hex o decodeHex en otros lenguajes. Si la cadena dada no es una codificación base16 válida, raw será nil y err será "invalid input". Las letras en [0-9a-fA-F] se consideran válidas.

encode_base32

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

Codifica la cadena dada en formato base32 con/sin relleno '='. El valor por defecto de no_padding es falso.

decode_base32

syntax: raw, err = decode_base32(encoded)

Decodifica la cadena en formato base32 a su valor original. Si la cadena dada no es una codificación base32 válida, raw será nil y err será "invalid input".

encode_base32hex

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

Codifica la cadena dada en formato base32hex con/sin relleno '='. El valor por defecto de no_padding es falso. Para más información sobre el formato base32hex, consulta https://tools.ietf.org/html/rfc4648#section-7.

decode_base32hex

syntax: raw, err = decode_base32(encoded)

Decodifica la cadena en formato base32hex a su valor original. Si la cadena dada no es una codificación base32hex válida, raw será nil y err será "invalid input". Para más información sobre el formato base32hex, consulta https://tools.ietf.org/html/rfc4648#section-7.

encode_base64

decode_base64

encode_base64url

decode_base64url

Alternativa directa a la implementación oficial en lua-resty-core. Lee su documentación oficial en su lugar. El método de codificación es un 40% más rápido, y el método de decodificación es un 200% más rápido. Ten en cuenta que la implementación depende del endianness y de la arquitectura. Lee la sección 'Must Read' para más información.

encode_base85

syntax: encoded = encode_base85(raw)

Codifica la cadena dada en formato base85 con/sin relleno '='. Ten en cuenta que no hay un estándar, sino demasiadas variantes de lo que se llama base85. La implementación de este módulo debería ser compatible con el módulo encoding/ascii85 de Go (no a nivel de argumento de API, sino a nivel de reglas de codificación/decodificación).

decode_base85

syntax: raw, err = decode_base85(encoded)

Decodifica la cadena en formato base85 a su valor original. Si la cadena dada no es una codificación base85 válida, raw será nil y err será "invalid input".

GitHub

Puedes encontrar consejos de configuración adicionales y documentación para este módulo en el repositorio de GitHub para nginx-module-base-encoding.