Senhas

RedefiniĆ§Ć£o de senha

RedefiniƧƵes de senha Ć© um novo recurso oferecido no Beta 6. Para que a redefiniĆ§Ć£o de senha funcione, o servidor deve ser capaz de enviar emails.

Configure uma conta de email em algum lugar que permita o envio de emails via SMTP. O Gmail Ć© uma escolha Ć³bvia para isso.

Abra seu Server/resources/config.json e insira suas informaƧƵes SMTP. Exemplo abaixo.

  "SmtpSettings": {
    "FromAddress": "ascensiongamedev@gmail.com",
    "FromName": "Ascension Admin",
    "Host": "smtp.gmail.com",
    "Port": 587,
    "UseSsl": true,
    "Username": "ascensiongamedev@gmail.com",
    "Password": "password"
  },

Reinicie seu servidor. Se as configuraƧƵes de SMTP estiverem presentes, a mensagem ā€˜Esqueceu a senha?ā€™ O botĆ£o aparecerĆ” na tela de login do seu cliente:

RedefiniĆ§Ć£o de senha

Hashing de senha

As senhas sĆ£o hashed antes de serem armazenadas no banco de dados. Cada conta possui um SALT gerado aleatoriamente.

Para verificar se uma senha de texto simples estƔ correta, faƧa o seguinte:

  • FaƧa o hash da senha de texto simples com SHA256 e remova quaisquer traƧos resultantes na saĆ­da.
  • Concatine o salt com a senha e use um hash SHA256 no resultado, removendo quaisquer travessƵes na saĆ­da resultante novamente.

C# ReferĆŖncia de CĆ³digo

var sha = new SHA256Managed();
string pass = BitConverter.ToString(sha.ComputeHash(Encoding.UTF8.GetBytes("plaintext_password"))).Replace("-", "");
string salt = "AD07665AE12767B2B712752595D0E4C16479B01D07E66AF9F9E6081C811C4C21";  //Salt retirado do banco de dados
string encrypted_pass = BitConverter.ToString(sha.ComputeHash(Encoding.UTF8.GetBytes(pass + salt))).Replace("-", "");