/// <summary> /// Fonction qui sert a confirmer le compte lorsque le user utilise le lien dans le courriel /// </summary> /// <param name="userHash"></param> /// <returns>True ou false si l'operation est réussi ou non</returns> public static bool confirmAccount(string userHash) { OracleConnection conn = Connection.getInstance().conn; // Prend le dernier numero du usersplit qui a servi a encrypter int encrypthint = Int32.Parse(userHash.Substring(userHash.Length - 1)); Rotation rot = new Rotation(encrypthint); // Met le userhash sans le dernier int qui sert à l'encrypter userHash = userHash.Substring(0, userHash.Length - 1); // Decrypte le username string userNonHash = rot.Dechiffrer(userHash); string sqlconfirmation = "update joueurs set CONFIRMED=:CONFIRMED where username=:userNonHash"; try { OracleCommand oraUpdate = new OracleCommand(sqlconfirmation, conn); OracleParameter OraParamConfirmed = new OracleParameter(":CONFIRMED", OracleDbType.Char, 1); OracleParameter OraParamUsername = new OracleParameter(":userNonHash", OracleDbType.Varchar2, 32); OraParamConfirmed.Value = '1'; OraParamUsername.Value = userNonHash.ToLower(); oraUpdate.Parameters.Add(OraParamConfirmed); oraUpdate.Parameters.Add(OraParamUsername); oraUpdate.ExecuteNonQuery(); return true; } catch (OracleException ex) { Erreur.ErrorMessage(ex); return false; } }
/// <summary> /// Cette fonction sert a remettre un mot de passe lorsque perdu /// </summary> /// <param name="userHash"></param> /// <param name="passHash"></param> /// <returns> true ou false </returns> public static bool resetPassword(string userHash, string passHash) { OracleConnection conn = Connection.getInstance().conn; int encrypthint = Int32.Parse(userHash.Substring(userHash.Length - 1)); Rotation rot = new Rotation(encrypthint); userHash = userHash.Substring(0, userHash.Length - 1); string userNonHash = rot.Dechiffrer(userHash); string sqlconfirmation = "update joueurs set Hash_KEY=:passHash where username=:userNonHash"; try { OracleCommand oraUpdate = new OracleCommand(sqlconfirmation, conn); OracleParameter OraParamHashKey = new OracleParameter(":passHash", OracleDbType.Char, 75); OracleParameter OraParamUsername = new OracleParameter(":userNonHash", OracleDbType.Varchar2, 32); OraParamHashKey.Value = passHash; OraParamUsername.Value = userNonHash.ToLower(); oraUpdate.Parameters.Add(OraParamHashKey); oraUpdate.Parameters.Add(OraParamUsername); oraUpdate.ExecuteNonQuery(); return true; } catch (OracleException ex) { Erreur.ErrorMessage(ex); return false; } }