passwordVerify
Confere se uma senha corresponde a um hash.
Sintaxe
Seção intitulada “Sintaxe”bool passwordVerify ( string hash, string senha )Parâmetros
Seção intitulada “Parâmetros”| Nome | Tipo | Padrão | Descrição |
|---|---|---|---|
hash | string | — | O hash guardado, como veio de passwordHash. |
senha | string | — | A senha digitada pelo jogador. |
Retorno
Seção intitulada “Retorno”true se a senha corresponde. false se não corresponder ou se o hash estiver corrompido.
Exemplo
Seção intitulada “Exemplo”local contas = {}
addCommandHandler("registrar", function(source, cmd, senha) if source == false or not senha then return end
local nome = getPlayerName(source) if contas[nome] then outputDebugString("a conta de " .. nome .. " já existe", 2) return end
local hash = passwordHash(senha) if not hash then outputDebugString("não foi possível criar a conta de " .. nome, 1) return end
contas[nome] = hash -- guarde o hash, nunca a senha setElementData(source, "logado", true)end)
addCommandHandler("entrar", function(source, cmd, senha) if source == false or not senha then return end
local nome = getPlayerName(source) local hash = contas[nome]
-- a mesma resposta para conta inexistente e senha errada: -- assim ninguém descobre quais contas existem tentando adivinhar if not hash or not passwordVerify(hash, senha) then outputDebugString("login recusado para " .. nome, 2) return end
setElementData(source, "logado", true)end)Veja também
Seção intitulada “Veja também”getServerName— Devolve o nome público do servidor.getMaxPlayers— Devolve o limite de jogadores simultâneos.getServerPort— Devolve a porta em que o servidor de jogo escuta.getServerHttpPort— Devolve a porta do servidor HTTP, usada para entregar os arquivos dos resources aos clientes.setServerPassword— Define ou remove a senha de acesso ao servidor.shutdown— Desliga o servidor.getServerConfigSetting— Lê um valor do server.cfg.outputServerLog— Escreve uma linha no log do servidor.