M MY Multiplayer: Wiki
Lado
Tipo

decodeString

Compartilhado

Decodifica ou decifra um texto produzido por encodeString.

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

Parâmetros

NomeTipoDescrição
algorithmstring"tea", "aes128", "rsa", "base64", "base32" ou "zlib".
datastringO texto a decodificar.
optionstableUma tabela de opções: key, iv (para aes128, o que encodeString devolveu), variant ou, para zlib, format (sem ele, detecta zlib ou gzip).padrão nil
callbackfunctionSe dada, o trabalho roda em segundo plano e a função recebe o resultado (ou false) quando termina.padrão nil

Retorno

O texto original. Com callback, true logo de cara. false se as opções são inválidas ou a operação falhou.

Algoritmos

options é obrigatório para "tea", "aes128" e "rsa".

Algoritmo Opções
"tea" Chave em key; só os 16 primeiros bytes contam.
"aes128" AES-128 em modo CTR; key (16 bytes) e iv (o IV de 16 bytes devolvido por encodeString).
"rsa" key traz a chave privada para decodificar (par da chave pública usada na codificação).
"base64" variant = "URL" opcional para o alfabeto de URL.
"base32" variant = "HEX" opcional para o alfabeto hexadecimal.
"zlib" format opcional (sem ele, zlib ou gzip é detectado automaticamente).

Exemplo

encodeString("zlib", fileGetContents("map.json"), { compression = 6 }, function(packed)
    if packed then
        print("comprimido para " .. #packed .. " bytes")
    end
end)

Veja também