private void Process() { string id = PopUserID(); while (id != string.Empty) { if (Crypto != null) { PeerAddUserRequest request = new PeerAddUserRequest(); request.UserID = id; request.TokenSalt = DB.GetTokenSaltFromUID(id); request.PassHash = DB.GetPassHashFromID(id); request.Email = DB.GetEmailFromID(id); request.Name = Name; MemoryStream ms = new MemoryStream(); StreamWriter sw = new StreamWriter(new CryptoStream(ms, Encrypter, CryptoStreamMode.Write)); sw.Write(request.UserID); sw.Close(); ms.Close(); request.Key = Convert.ToBase64String(ms.GetBuffer()); Connection.SendMessage(request, null, null); } id = PopUserID(); } }
protected ChangePasswordResponce ChangePassword(ChangePasswordRequest request) { ChangePasswordResponce responce = new ChangePasswordResponce(); responce.OK = false; if (Config.AllowRegistration && request != null) { string uid = GetSessionDataS(request.SessionID, ValidLoginString); string tokenSalt = DB.GetTokenSaltFromUID(uid); var crypto = CheckPassword(uid, tokenSalt, request.OldPassword); if (crypto != null) { string newHash = HashPassword(request.NewPassword, Convert.ToBase64String(crypto.IV)); if (DB.UpdateUserPassword(uid, newHash)) { responce.OK = true; responce.Responce = "Updated"; SendUserUpdate(uid); } else { responce.Responce = "Invalid New Password"; } } else { responce.Responce = "Invalid Credentials"; } } return(responce); }