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.