CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

做一个下载网站,如何用ASP操纵server-u新开帐号?

楼主datacomm(湘军一脉)2003-10-03 12:40:22 在 Web 开发 / ASP 提问

我的思路:下载网站只提供给注册会员,利用ASP给每个新开用户一个单独的serv-u帐号,该serv-u帐号在开通时作如下设置:1、用户从一个IP最多登录数量为1;2、最大下载速度为100K;3、目录访问只容许读取,不开通其他权限。下载时定向“ftp://帐号:密码@IP地址/目录/文件”进行下载,这样就可以控制盗链。  
    这个问题烦我好久了,不知道哪位大哥可以帮忙这样做一下?  
    我在别人下载网站上看见他这样实现过,我在论坛搜索过,有的就贴个“宁波科宇网”的代码不作任何说明,有的说用FSO并加密,都不得其解找不到完整的答案,但看别人的贴子应该有人成功过。不管是用组件还是FSO,只要您做成功过,请贴出较为完整代码共享经验,成功后马上结贴,分不够再开新贴给分,谢谢!  
   
    如果您觉得单独交流好些,请给我发封邮件或加我QQ,我的邮件:hunan_man@163.com,QQ:76006108,不甚感激。 问题点数:100、回复次数:17Top

1 楼N1rvana(新手上路)回复于 2003-10-03 13:03:26 得分 0

http://cqzx.sdedu.net/downcenter/List.asp?id=35  
  http://www.chinaz.com/download/software.asp?SOFTWAREID=9162  
   
  我自己没做过,上面是帮你找的,看看试试吧。Top

2 楼jnyezhi(夜知@CNSW.ORG)回复于 2003-10-03 13:48:43 得分 0

用serv-u   plus吧,是一个很好用的插件,免费的  
  官方网站:http://www.plusxp.net/intro-SU.htmlTop

3 楼luok(罗开)回复于 2003-10-03 17:15:57 得分 0

好象这里有讨论这个的文章了,搜一下呢。Top

4 楼datacomm(湘军一脉)回复于 2003-10-08 08:15:25 得分 0

upTop

5 楼par(吾知道)回复于 2003-10-08 14:42:58 得分 0

“宁波科宇网”的代码是用FSO配置Serv-u.ini文件.你只要会用FSO组件就一看就明白了.Top

6 楼yllaji(51FE.COM)回复于 2003-10-08 21:15:27 得分 0

用   ntpostu   到   chinaz.com   下载  
   
  直接数据库操作支持sqlserver   适合大容量FTP客户(我估计   它什么数据库都支持   因为使用数据库链接字符串)Top

7 楼opolmzy(ASP)( 一寸木)回复于 2003-10-09 09:34:46 得分 0

关注Top

8 楼formatkm(老革)回复于 2003-10-09 09:48:07 得分 0

有个插件,是用数据库保存ser-u的用户信息,用asp操作那个数据库就可以了。Top

9 楼datacomm(湘军一脉)回复于 2003-10-09 12:48:05 得分 0

formatkm(老革),愿闻其详。Top

10 楼alphayycn(阿尔法)回复于 2003-10-09 17:20:18 得分 0

学习,先收藏。。再顶Top

11 楼sishuo(思铄)回复于 2003-10-09 17:46:57 得分 0

http://www.plusxp.net/intro-SU.html  
   
  这个东西不错啊,可以收藏了,谢谢上面的这个兄弟!Top

12 楼chenyaoqiu(陈耀秋)回复于 2003-10-09 18:56:36 得分 0

以下是我在一个动态开通FTP上传的网站上看到的代码,仅当参考  
   
  '-------开通FTP上传服务---------  
   
  dim   mytextfile,myfileobject  
  Set   myfileobject=server.createobject("scripting.filesystemobject")  
  set   mytextfile=myfileobject.opentextfile("c:\Program   Files\serv-u\ServUDaemon.ini",8)'也可能是Serv-u.ini                               //此处是ServUD的安装路径  
          mytextfile.writeline("[USER="&counter&"]")                   //counter是开通账号  
          mytextfile.writeline("password="&password)                   //password我用户密码  
          mytextfile.writeline("HomeDir=e:\.."&counter)             //e:\..为路径,下同  
          mytextfile.writeline("RelPaths=1")  
          mytextfile.writeline("ChangePassword=YES")  
          mytextfile.writeline("SpeedLimit=20480")  
          mytextfile.writeline("QuotaEnable=YES")  
          mytextfile.writeline("QuotaMaxCurrent=20971520,0")  
          mytextfile.writeline("TimeOut=600")  
          mytextfile.writeline("Access1=E:\.."&counter&",RWAMCDLP")  
   
  '----------------------开通FTP上传服务结束-----------Top

13 楼datacomm(湘军一脉)回复于 2003-10-10 08:25:39 得分 0

请问陈耀秋:password是明文的吗?能否给每个用户开访问两个目录?  
   
  另外请问各位大侠:ASP能向另外一台服务器的serv-u写用户吗?Top

14 楼awaysrain(绝对零度)(既然选择了远方就要日夜前行)回复于 2003-10-10 08:51:37 得分 0

密码是不是明文的要看你的SERV-U的设置  
   
  mytextfile.writeline("Access1=E:\.."&counter&",RWAMCDLP")  
  这里不是有Access1=……  
  你再写个   Access2=……就可以开两个目录  
  mytextfile.writeline("Access2=c:\.."&counter&",RWAMCDLP")  
   
  应该不可以向另外一台服务器的serv-u写Top

15 楼awaysrain(绝对零度)(既然选择了远方就要日夜前行)回复于 2003-10-10 10:58:20 得分 100

以下代码在SERV-U   4.2-beta版上测试通过  
  ========================================================  
  <!--#include   file="md5.asp"-->  
  <%  
  '**************************************************  
  '* 作者:awaysrain(绝对零度) *  
  '*     完成时间:2003-10-10 *  
  '*     测试环境:WIN2000SERVER,SERV-U   4.2-beta版 *  
  '**************************************************  
  Dim   iniPath,iniFileName,iniStr,tmpStr,n    
  Dim   userName,passWord,tmp  
   
  userName   =   "myfso222" '用户名  
  passWord   =   "awaysrain" '密码  
  tmp   =   "ai"   '随机生成两个小写字母,(应该是随机生成的,但是我这里省略了)  
  passWord   =   tmp   &   UCase(md5(passWord))   '密码,是MD5加密过的,用动网的MD5加密程序,具体算法是随机生成两位小写字母,然后和你的密码连接后进行MD5加密,把随机生成的密码和MD5加密后的结果作为密码存放,举个例子来说比如下面的awaysrain用户,我的密码为awaysrain先随机生成两位小写字母ai,和我的密码awaysrain连接得到aiawaysrain把aiawaysrain进行MD5加密得到9118BFD94A9CE9CF37AE5BAA947ED596把随机生成两位小写字母ai和MD5加密后的结果9118BFD94A9CE9CF37AE5BAA947ED596连接得到密码ai9118BFD94A9CE9CF37AE5BAA947ED596  
   
  iniPath="D:\Program   Files\Serv-U" 'ini文件的路径  
  iniFileName   =   "ServUDaemon.ini" 'ini的文件名  
   
  Set   fso=Server.CreateObject("Scripting.FileSystemObject")  
  Set   ServUIni   =   fso.OpenTextFile(iniPath   &   "\"   &   iniFileName,1,false)  
   
  iniStr   =   ""  
  n   =   0  
  addedUserList   =   false  
   
  Set   tf   =   fso.CreateTextFile(iniPath   &   "\"   &   iniFileName   &   "._awaysrain.tmp",   True)  
  '生成新的临时INI文件  
   
  Do   While   not   ServUIni.AtEndOfStream  
      tmpStr   =   ServUIni.ReadLine    
   
  If   Instr("awaysrain||"   &   tmpStr,"awaysrain||User")>0   Then  
  '记录用户原来的数量  
  n   =   n+1  
  End   If  
   
  If   Instr("awaysrain||"   &   tmpStr,"awaysrain||[USER=")>0   and   not   addedUserList   Then  
  '往用户列表的部分添加现在的用户  
  n   =   n   +1  
  tf.WriteLine("User"   &   n   &   "="   &   userName   &   "|1|0")    
  addedUserList   =   true  
  End   If  
  tf.WriteLine(tmpStr)    
  Loop  
  ServUIni.Close  
   
  '添加新用户的信息,具体内容可以在SERV-U中新建用户并对照INI文件  
   
  tf.WriteLine("[USER="   &   userName   &   "|1]") '用户名  
  tf.WriteLine("Password="   &   passWord) '密码  
  tf.WriteLine("HomeDir=e:\temp") '主目录  
  tf.WriteLine("RelPaths=1") '是否锁定用户于主目录  
  tf.WriteLine("MaxUsersLoginPerIP=1") '相同IP同时登录数  
  tf.WriteLine("SpeedLimitDown=102400") '最大下载速度  
  tf.WriteLine("TimeOut=600") '空闲超时时间(秒)  
  tf.WriteLine("Access1=E:\Temp|RLP") '可访问目录,可以不是一个,比如   'Access2=E:\Temp1|RLP'  
   
  tf.Close  
  '--------------------备份原来的INI文件--------------------------  
  Set   f1   =   fso.GetFile(iniPath   &   "\"   &   iniFileName)  
  f1.Copy   (iniPath   &   "\"   &   iniFileName   &   "._awaysrain.bak")  
  f1.Delete  
  '--------------------把生成的临时INI文件改为正式的INI--------------------------  
  Set   f1   =   fso.GetFile(iniPath   &   "\"   &   iniFileName   &   "._awaysrain.tmp")  
  f1.Copy   (iniPath   &   "\"   &   iniFileName)  
  f1.Delete  
   
  Set   fso   =   nothing  
  %>  
   
  附MD5.ASP  
  ============================  
  <%  
  Private   Const   BITS_TO_A_BYTE   =   8  
  Private   Const   BYTES_TO_A_WORD   =   4  
  Private   Const   BITS_TO_A_WORD   =   32  
   
  Private   m_lOnBits(30)  
  Private   m_l2Power(30)  
     
  Private   Function   LShift(lValue,   iShiftBits)  
          If   iShiftBits   =   0   Then  
                  LShift   =   lValue  
                  Exit   Function  
          ElseIf   iShiftBits   =   31   Then  
                  If   lValue   And   1   Then  
                          LShift   =   &H80000000  
                  Else  
                          LShift   =   0  
                  End   If  
                  Exit   Function  
          ElseIf   iShiftBits   <   0   Or   iShiftBits   >   31   Then  
                  Err.Raise   6  
          End   If  
   
          If   (lValue   And   m_l2Power(31   -   iShiftBits))   Then  
                  LShift   =   ((lValue   And   m_lOnBits(31   -   (iShiftBits   +   1)))   *   m_l2Power(iShiftBits))   Or   &H80000000  
          Else  
                  LShift   =   ((lValue   And   m_lOnBits(31   -   iShiftBits))   *   m_l2Power(iShiftBits))  
          End   If  
  End   Function  
   
  Private   Function   RShift(lValue,   iShiftBits)  
          If   iShiftBits   =   0   Then  
                  RShift   =   lValue  
                  Exit   Function  
          ElseIf   iShiftBits   =   31   Then  
                  If   lValue   And   &H80000000   Then  
                          RShift   =   1  
                  Else  
                          RShift   =   0  
                  End   If  
                  Exit   Function  
          ElseIf   iShiftBits   <   0   Or   iShiftBits   >   31   Then  
                  Err.Raise   6  
          End   If  
           
          RShift   =   (lValue   And   &H7FFFFFFE)   \   m_l2Power(iShiftBits)  
   
          If   (lValue   And   &H80000000)   Then  
                  RShift   =   (RShift   Or   (&H40000000   \   m_l2Power(iShiftBits   -   1)))  
          End   If  
  End   Function  
   
  Private   Function   RotateLeft(lValue,   iShiftBits)  
          RotateLeft   =   LShift(lValue,   iShiftBits)   Or   RShift(lValue,   (32   -   iShiftBits))  
  End   Function  
   
  Private   Function   AddUnsigned(lX,   lY)  
          Dim   lX4  
          Dim   lY4  
          Dim   lX8  
          Dim   lY8  
          Dim   lResult  
     
          lX8   =   lX   And   &H80000000  
          lY8   =   lY   And   &H80000000  
          lX4   =   lX   And   &H40000000  
          lY4   =   lY   And   &H40000000  
     
          lResult   =   (lX   And   &H3FFFFFFF)   +   (lY   And   &H3FFFFFFF)  
     
          If   lX4   And   lY4   Then  
                  lResult   =   lResult   Xor   &H80000000   Xor   lX8   Xor   lY8  
          ElseIf   lX4   Or   lY4   Then  
                  If   lResult   And   &H40000000   Then  
                          lResult   =   lResult   Xor   &HC0000000   Xor   lX8   Xor   lY8  
                  Else  
                          lResult   =   lResult   Xor   &H40000000   Xor   lX8   Xor   lY8  
                  End   If  
          Else  
                  lResult   =   lResult   Xor   lX8   Xor   lY8  
          End   If  
     
          AddUnsigned   =   lResult  
  End   Function  
   
  Private   Function   md5_F(x,   y,   z)  
          md5_F   =   (x   And   y)   Or   ((Not   x)   And   z)  
  End   Function  
   
  Private   Function   md5_G(x,   y,   z)  
          md5_G   =   (x   And   z)   Or   (y   And   (Not   z))  
  End   Function  
   
  Private   Function   md5_H(x,   y,   z)  
          md5_H   =   (x   Xor   y   Xor   z)  
  End   Function  
   
  Private   Function   md5_I(x,   y,   z)  
          md5_I   =   (y   Xor   (x   Or   (Not   z)))  
  End   Function  
   
  Private   Sub   md5_FF(a,   b,   c,   d,   x,   s,   ac)  
          a   =   AddUnsigned(a,   AddUnsigned(AddUnsigned(md5_F(b,   c,   d),   x),   ac))  
          a   =   RotateLeft(a,   s)  
          a   =   AddUnsigned(a,   b)  
  End   Sub  
   
  Private   Sub   md5_GG(a,   b,   c,   d,   x,   s,   ac)  
          a   =   AddUnsigned(a,   AddUnsigned(AddUnsigned(md5_G(b,   c,   d),   x),   ac))  
          a   =   RotateLeft(a,   s)  
          a   =   AddUnsigned(a,   b)  
  End   Sub  
   
  Private   Sub   md5_HH(a,   b,   c,   d,   x,   s,   ac)  
          a   =   AddUnsigned(a,   AddUnsigned(AddUnsigned(md5_H(b,   c,   d),   x),   ac))  
          a   =   RotateLeft(a,   s)  
          a   =   AddUnsigned(a,   b)  
  End   Sub  
   
  Private   Sub   md5_II(a,   b,   c,   d,   x,   s,   ac)  
          a   =   AddUnsigned(a,   AddUnsigned(AddUnsigned(md5_I(b,   c,   d),   x),   ac))  
          a   =   RotateLeft(a,   s)  
          a   =   AddUnsigned(a,   b)  
  End   Sub  
   
  Private   Function   ConvertToWordArray(sMessage)  
          Dim   lMessageLength  
          Dim   lNumberOfWords  
          Dim   lWordArray()  
          Dim   lBytePosition  
          Dim   lByteCount  
          Dim   lWordCount  
           
          Const   MODULUS_BITS   =   512  
          Const   CONGRUENT_BITS   =   448  
           
          lMessageLength   =   Len(sMessage)  
           
          lNumberOfWords   =   (((lMessageLength   +   ((MODULUS_BITS   -   CONGRUENT_BITS)   \   BITS_TO_A_BYTE))   \   (MODULUS_BITS   \   BITS_TO_A_BYTE))   +   1)   *   (MODULUS_BITS   \   BITS_TO_A_WORD)  
          ReDim   lWordArray(lNumberOfWords   -   1)  
           
          lBytePosition   =   0  
          lByteCount   =   0  
          Do   Until   lByteCount   >=   lMessageLength  
                  lWordCount   =   lByteCount   \   BYTES_TO_A_WORD  
                  lBytePosition   =   (lByteCount   Mod   BYTES_TO_A_WORD)   *   BITS_TO_A_BYTE  
                  lWordArray(lWordCount)   =   lWordArray(lWordCount)   Or   LShift(Asc(Mid(sMessage,   lByteCount   +   1,   1)),   lBytePosition)  
                  lByteCount   =   lByteCount   +   1  
          Loop  
   
          lWordCount   =   lByteCount   \   BYTES_TO_A_WORD  
          lBytePosition   =   (lByteCount   Mod   BYTES_TO_A_WORD)   *   BITS_TO_A_BYTE  
   
          lWordArray(lWordCount)   =   lWordArray(lWordCount)   Or   LShift(&H80,   lBytePosition)  
   
          lWordArray(lNumberOfWords   -   2)   =   LShift(lMessageLength,   3)  
          lWordArray(lNumberOfWords   -   1)   =   RShift(lMessageLength,   29)  
           
          ConvertToWordArray   =   lWordArray  
  End   Function  
   
  Private   Function   WordToHex(lValue)  
          Dim   lByte  
          Dim   lCount  
           
          For   lCount   =   0   To   3  
                  lByte   =   RShift(lValue,   lCount   *   BITS_TO_A_BYTE)   And   m_lOnBits(BITS_TO_A_BYTE   -   1)  
                  WordToHex   =   WordToHex   &   Right("0"   &   Hex(lByte),   2)  
          Next  
  End   Function  
  '未完,待续Top

16 楼awaysrain(绝对零度)(既然选择了远方就要日夜前行)回复于 2003-10-10 10:59:14 得分 0

'接上  
  Public   Function   MD5(sMessage)  
          m_lOnBits(0)   =   CLng(1)  
          m_lOnBits(1)   =   CLng(3)  
          m_lOnBits(2)   =   CLng(7)  
          m_lOnBits(3)   =   CLng(15)  
          m_lOnBits(4)   =   CLng(31)  
          m_lOnBits(5)   =   CLng(63)  
          m_lOnBits(6)   =   CLng(127)  
          m_lOnBits(7)   =   CLng(255)  
          m_lOnBits(8)   =   CLng(511)  
          m_lOnBits(9)   =   CLng(1023)  
          m_lOnBits(10)   =   CLng(2047)  
          m_lOnBits(11)   =   CLng(4095)  
          m_lOnBits(12)   =   CLng(8191)  
          m_lOnBits(13)   =   CLng(16383)  
          m_lOnBits(14)   =   CLng(32767)  
          m_lOnBits(15)   =   CLng(65535)  
          m_lOnBits(16)   =   CLng(131071)  
          m_lOnBits(17)   =   CLng(262143)  
          m_lOnBits(18)   =   CLng(524287)  
          m_lOnBits(19)   =   CLng(1048575)  
          m_lOnBits(20)   =   CLng(2097151)  
          m_lOnBits(21)   =   CLng(4194303)  
          m_lOnBits(22)   =   CLng(8388607)  
          m_lOnBits(23)   =   CLng(16777215)  
          m_lOnBits(24)   =   CLng(33554431)  
          m_lOnBits(25)   =   CLng(67108863)  
          m_lOnBits(26)   =   CLng(134217727)  
          m_lOnBits(27)   =   CLng(268435455)  
          m_lOnBits(28)   =   CLng(536870911)  
          m_lOnBits(29)   =   CLng(1073741823)  
          m_lOnBits(30)   =   CLng(2147483647)  
           
          m_l2Power(0)   =   CLng(1)  
          m_l2Power(1)   =   CLng(2)  
          m_l2Power(2)   =   CLng(4)  
          m_l2Power(3)   =   CLng(8)  
          m_l2Power(4)   =   CLng(16)  
          m_l2Power(5)   =   CLng(32)  
          m_l2Power(6)   =   CLng(64)  
          m_l2Power(7)   =   CLng(128)  
          m_l2Power(8)   =   CLng(256)  
          m_l2Power(9)   =   CLng(512)  
          m_l2Power(10)   =   CLng(1024)  
          m_l2Power(11)   =   CLng(2048)  
          m_l2Power(12)   =   CLng(4096)  
          m_l2Power(13)   =   CLng(8192)  
          m_l2Power(14)   =   CLng(16384)  
          m_l2Power(15)   =   CLng(32768)  
          m_l2Power(16)   =   CLng(65536)  
          m_l2Power(17)   =   CLng(131072)  
          m_l2Power(18)   =   CLng(262144)  
          m_l2Power(19)   =   CLng(524288)  
          m_l2Power(20)   =   CLng(1048576)  
          m_l2Power(21)   =   CLng(2097152)  
          m_l2Power(22)   =   CLng(4194304)  
          m_l2Power(23)   =   CLng(8388608)  
          m_l2Power(24)   =   CLng(16777216)  
          m_l2Power(25)   =   CLng(33554432)  
          m_l2Power(26)   =   CLng(67108864)  
          m_l2Power(27)   =   CLng(134217728)  
          m_l2Power(28)   =   CLng(268435456)  
          m_l2Power(29)   =   CLng(536870912)  
          m_l2Power(30)   =   CLng(1073741824)  
   
   
          Dim   x  
          Dim   k  
          Dim   AA  
          Dim   BB  
          Dim   CC  
          Dim   DD  
          Dim   a  
          Dim   b  
          Dim   c  
          Dim   d  
           
          Const   S11   =   7  
          Const   S12   =   12  
          Const   S13   =   17  
          Const   S14   =   22  
          Const   S21   =   5  
          Const   S22   =   9  
          Const   S23   =   14  
          Const   S24   =   20  
          Const   S31   =   4  
          Const   S32   =   11  
          Const   S33   =   16  
          Const   S34   =   23  
          Const   S41   =   6  
          Const   S42   =   10  
          Const   S43   =   15  
          Const   S44   =   21  
   
          x   =   ConvertToWordArray(sMessage)  
           
          a   =   &H67452301  
          b   =   &HEFCDAB89  
          c   =   &H98BADCFE  
          d   =   &H10325476  
   
          For   k   =   0   To   UBound(x)   Step   16  
                  AA   =   a  
                  BB   =   b  
                  CC   =   c  
                  DD   =   d  
           
                  md5_FF   a,   b,   c,   d,   x(k   +   0),   S11,   &HD76AA478  
                  md5_FF   d,   a,   b,   c,   x(k   +   1),   S12,   &HE8C7B756  
                  md5_FF   c,   d,   a,   b,   x(k   +   2),   S13,   &H242070DB  
                  md5_FF   b,   c,   d,   a,   x(k   +   3),   S14,   &HC1BDCEEE  
                  md5_FF   a,   b,   c,   d,   x(k   +   4),   S11,   &HF57C0FAF  
                  md5_FF   d,   a,   b,   c,   x(k   +   5),   S12,   &H4787C62A  
                  md5_FF   c,   d,   a,   b,   x(k   +   6),   S13,   &HA8304613  
                  md5_FF   b,   c,   d,   a,   x(k   +   7),   S14,   &HFD469501  
                  md5_FF   a,   b,   c,   d,   x(k   +   8),   S11,   &H698098D8  
                  md5_FF   d,   a,   b,   c,   x(k   +   9),   S12,   &H8B44F7AF  
                  md5_FF   c,   d,   a,   b,   x(k   +   10),   S13,   &HFFFF5BB1  
                  md5_FF   b,   c,   d,   a,   x(k   +   11),   S14,   &H895CD7BE  
                  md5_FF   a,   b,   c,   d,   x(k   +   12),   S11,   &H6B901122  
                  md5_FF   d,   a,   b,   c,   x(k   +   13),   S12,   &HFD987193  
                  md5_FF   c,   d,   a,   b,   x(k   +   14),   S13,   &HA679438E  
                  md5_FF   b,   c,   d,   a,   x(k   +   15),   S14,   &H49B40821  
           
                  md5_GG   a,   b,   c,   d,   x(k   +   1),   S21,   &HF61E2562  
                  md5_GG   d,   a,   b,   c,   x(k   +   6),   S22,   &HC040B340  
                  md5_GG   c,   d,   a,   b,   x(k   +   11),   S23,   &H265E5A51  
                  md5_GG   b,   c,   d,   a,   x(k   +   0),   S24,   &HE9B6C7AA  
                  md5_GG   a,   b,   c,   d,   x(k   +   5),   S21,   &HD62F105D  
                  md5_GG   d,   a,   b,   c,   x(k   +   10),   S22,   &H2441453  
                  md5_GG   c,   d,   a,   b,   x(k   +   15),   S23,   &HD8A1E681  
                  md5_GG   b,   c,   d,   a,   x(k   +   4),   S24,   &HE7D3FBC8  
                  md5_GG   a,   b,   c,   d,   x(k   +   9),   S21,   &H21E1CDE6  
                  md5_GG   d,   a,   b,   c,   x(k   +   14),   S22,   &HC33707D6  
                  md5_GG   c,   d,   a,   b,   x(k   +   3),   S23,   &HF4D50D87  
                  md5_GG   b,   c,   d,   a,   x(k   +   8),   S24,   &H455A14ED  
                  md5_GG   a,   b,   c,   d,   x(k   +   13),   S21,   &HA9E3E905  
                  md5_GG   d,   a,   b,   c,   x(k   +   2),   S22,   &HFCEFA3F8  
                  md5_GG   c,   d,   a,   b,   x(k   +   7),   S23,   &H676F02D9  
                  md5_GG   b,   c,   d,   a,   x(k   +   12),   S24,   &H8D2A4C8A  
                           
                  md5_HH   a,   b,   c,   d,   x(k   +   5),   S31,   &HFFFA3942  
                  md5_HH   d,   a,   b,   c,   x(k   +   8),   S32,   &H8771F681  
                  md5_HH   c,   d,   a,   b,   x(k   +   11),   S33,   &H6D9D6122  
                  md5_HH   b,   c,   d,   a,   x(k   +   14),   S34,   &HFDE5380C  
                  md5_HH   a,   b,   c,   d,   x(k   +   1),   S31,   &HA4BEEA44  
                  md5_HH   d,   a,   b,   c,   x(k   +   4),   S32,   &H4BDECFA9  
                  md5_HH   c,   d,   a,   b,   x(k   +   7),   S33,   &HF6BB4B60  
                  md5_HH   b,   c,   d,   a,   x(k   +   10),   S34,   &HBEBFBC70  
                  md5_HH   a,   b,   c,   d,   x(k   +   13),   S31,   &H289B7EC6  
                  md5_HH   d,   a,   b,   c,   x(k   +   0),   S32,   &HEAA127FA  
                  md5_HH   c,   d,   a,   b,   x(k   +   3),   S33,   &HD4EF3085  
                  md5_HH   b,   c,   d,   a,   x(k   +   6),   S34,   &H4881D05  
                  md5_HH   a,   b,   c,   d,   x(k   +   9),   S31,   &HD9D4D039  
                  md5_HH   d,   a,   b,   c,   x(k   +   12),   S32,   &HE6DB99E5  
                  md5_HH   c,   d,   a,   b,   x(k   +   15),   S33,   &H1FA27CF8  
                  md5_HH   b,   c,   d,   a,   x(k   +   2),   S34,   &HC4AC5665  
           
                  md5_II   a,   b,   c,   d,   x(k   +   0),   S41,   &HF4292244  
                  md5_II   d,   a,   b,   c,   x(k   +   7),   S42,   &H432AFF97  
                  md5_II   c,   d,   a,   b,   x(k   +   14),   S43,   &HAB9423A7  
                  md5_II   b,   c,   d,   a,   x(k   +   5),   S44,   &HFC93A039  
                  md5_II   a,   b,   c,   d,   x(k   +   12),   S41,   &H655B59C3  
                  md5_II   d,   a,   b,   c,   x(k   +   3),   S42,   &H8F0CCC92  
                  md5_II   c,   d,   a,   b,   x(k   +   10),   S43,   &HFFEFF47D  
                  md5_II   b,   c,   d,   a,   x(k   +   1),   S44,   &H85845DD1  
                  md5_II   a,   b,   c,   d,   x(k   +   8),   S41,   &H6FA87E4F  
                  md5_II   d,   a,   b,   c,   x(k   +   15),   S42,   &HFE2CE6E0  
                  md5_II   c,   d,   a,   b,   x(k   +   6),   S43,   &HA3014314  
                  md5_II   b,   c,   d,   a,   x(k   +   13),   S44,   &H4E0811A1  
                  md5_II   a,   b,   c,   d,   x(k   +   4),   S41,   &HF7537E82  
                  md5_II   d,   a,   b,   c,   x(k   +   11),   S42,   &HBD3AF235  
                  md5_II   c,   d,   a,   b,   x(k   +   2),   S43,   &H2AD7D2BB  
                  md5_II   b,   c,   d,   a,   x(k   +   9),   S44,   &HEB86D391  
           
                  a   =   AddUnsigned(a,   AA)  
                  b   =   AddUnsigned(b,   BB)  
                  c   =   AddUnsigned(c,   CC)  
                  d   =   AddUnsigned(d,   DD)  
          Next  
           
          MD5   =   LCase(WordToHex(a)   &   WordToHex(b)   &   WordToHex(c)   &   WordToHex(d))  
          'MD5=LCase(WordToHex(b)   &   WordToHex(c))     'I   crop   this   to   fit   16byte   database   password   :D  
  End   Function  
  %>Top

17 楼awaysrain(绝对零度)(既然选择了远方就要日夜前行)回复于 2003-10-10 11:04:14 得分 0

注:以上代码假设ServUDaemon.ini中的格式只有一个域并已经至少有一个用户  
   
  测试的ServUDaemon.ini文件结构如下:  
  ==================================  
  [Domain1]  
  User1=222|1|0  
  User2=myfso111|1|0  
  [USER=222|1]  
  Password=hwB1ECF70CDAF5DAE2B981AE394EEFCDC0  
  HomeDir=E:\Temp  
  RelPaths=1  
  TimeOut=600  
  Access1=E:\Temp|RLP  
  [USER=myfso111|1]  
  Password=ai9118BFD94A9CE9CF37AE5BAA947ED596  
  HomeDir=e:\temp  
  RelPaths=1  
  TimeOut=600  
  Access1=E:\Temp|RLP  
   
  生成后的文件结构如下  
  ==================================  
  [Domain1]  
  User1=222|1|0  
  User2=myfso111|1|0  
  User3=myfso222|1|0  
  [USER=222|1]  
  Password=hwB1ECF70CDAF5DAE2B981AE394EEFCDC0  
  HomeDir=E:\Temp  
  RelPaths=1  
  TimeOut=600  
  Access1=E:\Temp|RLP  
  [USER=myfso111|1]  
  Password=ai9118BFD94A9CE9CF37AE5BAA947ED596  
  HomeDir=e:\temp  
  RelPaths=1  
  TimeOut=600  
  Access1=E:\Temp|RLP  
  [USER=myfso222|1]  
  Password=ai9118BFD94A9CE9CF37AE5BAA947ED596  
  HomeDir=e:\temp  
  RelPaths=1  
  TimeOut=600  
  Access1=E:\Temp|RLP  
  Top

相关问题

  • 关于通过asp修改serv-U中帐号的密码,不能及时更新该密码的问题
  • 如何用javascript操纵ASP。NET控件??
  • asp操纵excel问题~急~求助
  • ■■■ASP能不能检测到访客OUTLOOK的默认帐号???
  • 求ASP防止多人用同一帐号同时登陆?
  • asp如何抓取局域网内的登陆帐号
  • 刚学asp,请教如何连接access,操纵access
  • ASP操纵数据库的问题,来者有分!
  • asp如何操作server-u
  • 帐号

关键词

  • .net
  • 帐号
  • 用户
  • 下载
  • 代码
  • 数据库
  • 网站
  • 密码
  • 文件
  • mytextfile

得分解答快速导航

  • 帖主:datacomm
  • awaysrain

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo