Mots de Passe

RĂ©initialisation Mot de Passe

La rĂ©initialisation de mot de passe est une nouvelle fonctionnalitĂ© offerte par la Beta 6. pour que la rĂ©initialisation du mot de passe fonctionne le serveur doit ĂȘtre capable d’envoyer des emails.

Mettre en place un compte email sur une plateforme qui permet d’envoyer des email via SMTP. Gmail est un choix Ă©vident pour ça.

Ouvrez votre fichier Server/resources/config.json et entrez vos informations SMTP. Exemple ci-dessous.

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

RedĂ©marrez votre serveur. Si les rĂ©glages SMTP sont effectuĂ©s un bouton ‘Mot de passe oubliĂ©?’ apparaĂźtra sur l’écran de connexion de votre client:

RĂ©initialisation mot de passe

Hash du Mot de Passe

Les mots de passe sont hashĂ© avant d’ĂȘtre stockĂ©s dans la base de donnĂ©es. Chaque compte possĂšde un SALT gĂ©nĂ©rĂ© alĂ©atoirement.

Pour vĂ©rifier qu’un mot de passe en texte clair est correct, suivez ces Ă©tapes:

  • Hashez le mot de passe en clair avec SHA256 et enlevez tous les tirets rĂ©sultant de cette production.
  • EnchaĂźnez le salt au mot de passe et utilisez un hash SHA256 sur le rĂ©sultat en retirant tous les tirets rĂ©sultant de cette production Ă  nouveau.

C# Référence Code

var sha = new SHA256Managed();
string pass = BitConverter.ToString(sha.ComputeHash(Encoding.UTF8.GetBytes("plaintext_password"))).Replace("-", "");
string salt = "AD07665AE12767B2B712752595D0E4C16479B01D07E66AF9F9E6081C811C4C21";  //Salt pulled from the database
string encrypted_pass = BitConverter.ToString(sha.ComputeHash(Encoding.UTF8.GetBytes(pass + salt))).Replace("-", "");