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。 

  • 相关阅读:
    微服务下的持续集成-Jenkins自动化部署GitHub项目
    JDK新特性-Lambda表达式的神操作
    ActiveMQ详细入门教程系列(一)
    程序员必须了解的知识点——你搞懂mysql索引机制了吗?
    面试之后,扼腕叹息。
    哎,这让人抠脑壳的 LFU。
    延迟消息的五种实现方案
    Java实现Kafka生产者和消费者的示例
    Pytorch训练时显存分配过程探究
    Python命令行参数定义及注意事项
  • 原文地址:https://www.cnblogs.com/leotan/p/2736633.html
Copyright © 2011-2022 走看看