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:
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("-", "");