Пример #1
0
        /// <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;
            }
        }
Пример #2
0
        /// <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;
            }
        }