Pular para o conteúdo

generateKeyPair

Compartilhada Criptografia

Gera um par de chaves RSA.

string, string generateKeyPair ( string algoritmo, table opcoes [, function callback ] )
NomeTipoPadrãoDescrição
algoritmostring—Único valor aceito: "rsa", sem diferenciar maiúsculas de minúsculas.
opcoestable—Precisa conter size, o tamanho da chave em bits. Mínimo de 256.
callbackfunction—Se informada, recebe as duas chaves e generateKeyPair devolve true.

Dois valores, nesta ordem:

PosiçãoDescrição
1Chave privada.
2Chave pública.

Em caso de falha devolve apenas false, com o motivo no console de debug.

As duas chaves são strings binárias. Para gravá-las em um arquivo ou em um banco, passe antes por encodeString("base64", chave).

Gerar uma chave é uma operação demorada e o servidor fica parado enquanto ela acontece — com 2048 bits isso pode levar segundos. Gere o par uma única vez, guarde e reutilize; nunca gere dentro de um timer ou a cada requisição.

local privada, publica = generateKeyPair("rsa", { size = 2048 })
if not privada then
outputDebugString("não foi possível gerar o par de chaves", 1)
return
end
-- quem tem a chave pública cifra
local cifrado = encodeString("rsa", "mensagem", { key = publica })
-- só quem tem a chave privada consegue abrir
local aberto = decodeString("rsa", cifrado, { key = privada })
  • md5 — Calcula o hash MD5 de uma string.
  • sha256 — Calcula o hash SHA-256 de uma string.
  • hash — Calcula o hash de uma string com o algoritmo escolhido.
  • teaEncode — Cifra uma string com XTEA e devolve o resultado em Base64.
  • teaDecode — Desfaz um teaEncode.
  • encodeString — Codifica ou cifra uma string com o algoritmo escolhido.
  • decodeString — Desfaz um encodeString.