Zum Inhalt

base-encoding: Eine schnellere Alternative zur base64-Codierung und bietet die fehlende Basis-Codierung für die nginx-module-lua-Anwendung

Installation

Wenn Sie das RPM-Repository-Abonnement noch nicht eingerichtet haben, melden Sie sich an. Dann können Sie mit den folgenden Schritten fortfahren.

CentOS/RHEL 7 oder 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

Um diese Lua-Bibliothek mit NGINX zu verwenden, stellen Sie sicher, dass nginx-module-lua installiert ist.

Dieses Dokument beschreibt lua-resty-base-encoding v1.3.0, das am 21. Juli 2018 veröffentlicht wurde.


encode_base2

syntax: encoded = encode_base2(raw)

Kodiert den angegebenen String in das base2-Format (auch bekannt als bin-Format). Beachten Sie, dass die Eingabe ein String ist. Daher ist das Ergebnis von encode_base2 für 1 00110001, da der ASCII-Wert von 1 49 ist und das binäre Format von 49 00110001 ist. Und vergessen Sie nicht, dass die Ausgabe von encode_base2 ein String und keine binäre Zahl ist.

decode_base2

syntax: raw, err = decode_base2(encoded)

Dekodiert den String im base2-Format in seinen Rohwert. Wenn der angegebene String nicht gültig base2-codiert ist, wird raw nil sein und err wird "invalid input" sein. Jedes Zeichen im Eingabestring, das nicht 1 ist, wird als 0 betrachtet. Zum Beispiel ist aa11aaa1 gleich 00110001. Es gibt kein RFC, das vorschreibt, dass wir Zeichen, die nicht 0 und 1 sind, als ungültige Eingabe behandeln sollten, und die Überprüfung, ob ein Zeichen '0' ist oder nicht, würde die Leistung um 50 % verringern.

encode_base16

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

Kodiert den angegebenen String in das base16-Format (auch bekannt als hex/hexadezimal-Format). Diese Methode kann in anderen Sprachen to_hex oder encodeHex genannt werden. Die Standardausgabezeichen sind in [0-9A-F]. Wenn Sie out_in_lowercase auf true setzen, wird die Ausgabe in [0-9a-f] sein.

decode_base16

syntax: raw, err = decode_base16(encoded)

Dekodiert den String im base16-Format (auch bekannt als hex/hexadezimal-Format) in seinen Rohwert. Diese Methode kann in anderen Sprachen from_hex oder decodeHex genannt werden. Wenn der angegebene String nicht gültig base16-codiert ist, wird raw nil sein und err wird "invalid input" sein. Zeichen in [0-9a-fA-F] werden als gültig betrachtet.

encode_base32

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

Kodiert den angegebenen String in das base32-Format mit/ohne Padding '='. Der Standardwert von no_padding ist false.

decode_base32

syntax: raw, err = decode_base32(encoded)

Dekodiert den String im base32-Format in seinen Rohwert. Wenn der angegebene String nicht gültig base32-codiert ist, wird raw nil sein und err wird "invalid input" sein.

encode_base32hex

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

Kodiert den angegebenen String in das base32hex-Format mit/ohne Padding '='. Der Standardwert von no_padding ist false. Für weitere Informationen zum base32hex-Format siehe https://tools.ietf.org/html/rfc4648#section-7.

decode_base32hex

syntax: raw, err = decode_base32(encoded)

Dekodiert den String im base32hex-Format in seinen Rohwert. Wenn der angegebene String nicht gültig base32hex-codiert ist, wird raw nil sein und err wird "invalid input" sein. Für weitere Informationen zum base32hex-Format siehe https://tools.ietf.org/html/rfc4648#section-7.

encode_base64

decode_base64

encode_base64url

decode_base64url

Drop-in-Alternative zur offiziellen Implementierung in lua-resty-core. Lesen Sie stattdessen deren offizielle Dokumentation. Die Kodierungsmethode ist 40 % schneller, und die Dekodierungsmethode ist 200 % schneller. Beachten Sie, dass die Implementierung endianness- und architekturabhängig ist. Lesen Sie den Abschnitt 'Must Read' für weitere Informationen.

encode_base85

syntax: encoded = encode_base85(raw)

Kodiert den angegebenen String in das base85-Format mit/ohne Padding '='. Beachten Sie, dass es keinen Standard, sondern zu viele Varianten des sogenannten base85 gibt. Die Implementierung dieses Moduls sollte mit dem Go's encoding/ascii85-Modul kompatibel sein (nicht auf der Ebene der API-Argumente, sondern auf der Ebene der Kodierungs-/Dekodierungsregeln).

decode_base85

syntax: raw, err = decode_base85(encoded)

Dekodiert den String im base85-Format in seinen Rohwert. Wenn der angegebene String nicht gültig base85-codiert ist, wird raw nil sein und err wird "invalid input" sein.

GitHub

Sie finden möglicherweise zusätzliche Konfigurationstipps und Dokumentationen für dieses Modul im GitHub-Repository für nginx-module-base-encoding.