string|bool decodeString(string algorithm, string data [, table options = nil, function callback = nil])
Parâmetros
| Nome | Tipo | Descrição |
|---|---|---|
| algorithm | string | "tea", "aes128", "rsa", "base64", "base32" ou "zlib". |
| data | string | O texto a decodificar. |
| options | table | Uma 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 |
| callback | function | Se 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)