generateKeyPair
Gera um par de chaves RSA.
Sintaxe
Seção intitulada “Sintaxe”string, string generateKeyPair ( string algoritmo, table opcoes [, function callback ] )Parâmetros
Seção intitulada “Parâmetros”| Nome | Tipo | Padrão | Descrição |
|---|---|---|---|
algoritmo | string | — | Único valor aceito: "rsa", sem diferenciar maiúsculas de minúsculas. |
opcoes | table | — | Precisa conter size, o tamanho da chave em bits. Mínimo de 256. |
callback | function | — | Se informada, recebe as duas chaves e generateKeyPair devolve true. |
Retorno
Seção intitulada “Retorno”Dois valores, nesta ordem:
| Posição | Descrição |
|---|---|
| 1 | Chave privada. |
| 2 | Chave 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.
Exemplo
Seção intitulada “Exemplo”local privada, publica = generateKeyPair("rsa", { size = 2048 })
if not privada then outputDebugString("não foi possível gerar o par de chaves", 1) returnend
-- quem tem a chave pública cifralocal cifrado = encodeString("rsa", "mensagem", { key = publica })
-- só quem tem a chave privada consegue abrirlocal aberto = decodeString("rsa", cifrado, { key = privada })Veja também
Seção intitulada “Veja também”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.