在线修改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。 

转载于:https://www.cnblogs.com/leotan/archive/2012/10/24/2736633.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值