zoukankan      html  css  js  c++  java
  • 在线修改ServU密码注意问题。

            /// <summary>
            
    /// 检查用户名密码是否匹配
            
    /// </summary>
            
    /// <param name="user">用户名</param>
            
    /// <param name="pass">用户密码</param>
            
    /// <returns>是否匹配</returns>
            public Boolean CheckPasswordByUser(string user,string pass)
            {
                string sqlstring = string.Format("select Password from [User accounts] where [User]='{0}'", user);
                object o=dbServU.GetSingle(sqlstring);
                if (o != null)
                {
                    string dbPass = (string)o;
                    if (dbPass.Length > 32)
                    {
                        char a, b;
                        a = dbPass[0];
                        b = dbPass[1];
                        string password = string.Format("{0}{1}{2}", a, b, pass);
                        password = FormsAuthentication.HashPasswordForStoringInConfigFile(password, "MD5");
                        password = string.Format("{0}{1}{2}", a, b, password.ToUpper());
                        if (dbPass == password)
                            return true;
                    }
                }
                return false;
            }

            /// <summary>
            
    /// 生成新ServU格式密码
            
    /// </summary>
            
    /// <param name="pass">密码</param>
            
    /// <returns>生成的新密码</returns>
            public string GenNewPass(string pass)
            {
                Random rnm = new Random();
                char a = (char)(rnm.Next(97123));
                char b = (char)(rnm.Next(97123));
                string password = string.Format("{0}{1}{2}", a, b, pass);
                password = FormsAuthentication.HashPasswordForStoringInConfigFile(password, "MD5");
                pass = string.Format("{0}{1}{2}", a, b, password.ToUpper());
                return pass;
            }

            /// <summary>
            
    /// 更改密码
            
    /// </summary>
            
    /// <param name="user">用户名</param>
            
    /// <param name="newPass">新密码</param>
            
    /// <returns>是否成功</returns>
            public Boolean ResetPass(string user,string newPass)
            {
                string sqlstring = string.Format("select Password from [User accounts] where [User]='{0}'", user);
                object o=dbServU.GetSingle(sqlstring);
                if (o != null)
                {
                    sqlstring = string.Format("update  [User accounts] set password='{0}' where [User]='{1}'", GenNewPass(newPass), user);
                    if (dbServU.ExcuteSQL(sqlstring) > 0)
                        return true;
                }
                return false;
            }

    密码修改成功后,在注意在ServU中设置Allow user to change password。不然,修改之后密码和新密码都无法正常登录FTP。 

  • 相关阅读:
    本机可以,服务器却不行
    学习摘录1Hello, World!
    钻石问题
    OPEN OFFICE使用技巧
    操作符的重载
    函数重载
    关于“结构”好别扭的一段话
    多重继承
    OPEN OFFICE操作技巧3
    70个现代风格的HTML5 WordPress主题网站
  • 原文地址:https://www.cnblogs.com/leotan/p/2736633.html
Copyright © 2011-2022 走看看