M MY Multiplayer: Wiki
Lado
Tipo

encodeString

Compartido

Codifica o cifra un texto con un algoritmo: TEA, AES-128, RSA, Base64, Base32 o zlib.

string|bool encodeString(string algorithm, string data [, table options = nil, function callback = nil])

Parámetros

NombreTipoDescripción
algorithmstring"tea", "aes128", "rsa", "base64", "base32" o "zlib".
datastringEl texto a codificar.
optionstableUna tabla de opciones: key, variant o, para zlib, format ("gzip" por defecto, "zlib", "raw" o un windowBits), compression (0 a 9, 9 por defecto) y strategy ("default", "filtered", "huffman", "rle", "fixed").por defecto nil
callbackfunctionSi se da, el trabajo corre en segundo plano y la función recibe el resultado (o false) cuando termina.por defecto nil

Retorno

El resultado (con aes128, el texto cifrado y el vector de inicialización de 16 bytes que necesita decodeString). Con callback, true de inmediato. false si las opciones no son válidas o la operación falló.

Algoritmos

options es obligatorio para "tea", "aes128" y "rsa".

Algoritmo Opciones
"tea" Clave en key; solo cuentan sus primeros 16 bytes.
"aes128" AES-128 en modo CTR; key debe tener exactamente 16 bytes.
"rsa" key contiene la clave pública para codificar y la privada para decodificar.
"base64" variant = "URL" opcional para el alfabeto de URL.
"base32" variant = "HEX" opcional para el alfabeto hexadecimal.
"zlib" format opcional ("gzip" por defecto, "zlib", "raw" o windowBits), compression (0–9, por defecto 9) y strategy.

Ejemplo

local key = "0123456789abcdef"
local cipher, iv = encodeString("aes128", "mensaje secreto", { key = key })
local plain = decodeString("aes128", cipher, { key = key, iv = iv })

Ver también