ASP+Serv-UFTP代码实现
<
昏暗的inipath,inifilename,inistr,Javascript,N
模糊用户名、密码、TMP
用户名为myfso222 的用户名
密码=awaysrain密码
随机生成两个小写字母(应该是随机生成的,但这里省略了)。
密码TMP = ucase(MD5(密码))的密码是加密的MD5加密程序,采用MD5加密网络,具体的算法是随机生成的两个小写字母,然后连接你的MD5加密密码后,随机生成的密码和MD5加密的密码存储结果,例如为awaysrain用户,我的密码awaysrain首先随机生成的两个小写字母AI,连接和我的密码awaysrain aiawaysrain aiawaysrain MD5 9118bfd94a9ce9cf37ae5baa947ed596被加密的随机两个小写字母AI和MD5加密9118bfd94a9ce9cf37ae5baa947ed596连接密码ai9118bfd94a9ce9cf37ae5baa947ed596结果
该inipath =D的路径:程序文件 Serv-U'ini文件
inifilename =文件名servudaemon INI'ini
设置FSO = server.createobject(脚本。FileSystemObject )
集servuini = fso.opentextfile(inipath inifilename,1,假)
inistr =
n = 0
addeduserlist = false
集TF = fso.createtextfile(inipath inifilename 。_awaysrain TMP 。
生成一个新的临时INI文件
而不是ServUIni.AtEndOfStream
servuini.readline Javascript =
如果Instr(awaysrain | Javascript | ,awaysrain | |用户)> 0
记录原始用户数
n=n+1
最后如果
如果Instr(awaysrain | Javascript | ,awaysrain | | {用户= )> 0不addeduserlist然后
将当前用户添加到用户列表的一部分
n=n+1
tf.writeline(用户N=用户名| 1 | 0 )
addeduserlist =真
最后如果
Tf.WriteLine(Javascript)
环
接近ServUIni。
新用户添加信息,具体内容可以建在Serv-U和相对于INI文件
tf.writeline({用户=用户名| 1 } )的用户名
tf.writeline(密码=密码)的密码
tf.writeline(是否= E:温度)的主要目录
无论tf.writeline(relpaths = 1 )的锁定在主目录的用户
tf.writeline(maxusersloginperip = 1 )的同一个IP同时登录数
tf.writeline(speedlimitdown = 102400 )的最大下载速度
tf.writeline(超时= 600 )空闲超时时间(秒)
tf.writeline(该= E:温度| RLP )提供的目录,而不是一个,这样的as'access2 = E: temp1 | RLP
TF。关闭
--------------------备份原来的ini文件--------------------------
设置F1 = fso.getfile(inipath inifilename)
F1.Copy (iniPath iniFileName ._awaysrain.bak)
删除F1。
--------------------产生暂时的INI文件正式INI --------------------------
设置F1 = fso.getfile(inipath inifilename 。_awaysrain。TMP )
F1。复制(inipath inifilename)
删除F1。
设置FSO
%>
注:以上代码假定ServUDaemon.ini格式只有一个领域并有至少一个用户
测试的servudaemon.ini文件结构如下:
==================================
{ domain1 }
1 | | user1 = 222 0
2、myfso111 | | 0 = 1
{ 1 } |用户= 222
密码= hwb1ecf70cdaf5dae2b981ae394eefcdc0
是否= E:温度
relpaths = 1
timeout = 600
该= E:温度| RLP
{ 1 } | myfso111用户=
密码= ai9118bfd94a9ce9cf37ae5baa947ed596
是否= E:温度
relpaths = 1
timeout = 600
该= E:温度| RLP
生成后的文件结构如下
==================================
{ domain1 }
1 | | user1 = 222 0
2、myfso111 | | 0 = 1
1 | myfso222 | user3 = 0
{ 1 } |用户= 222
密码= hwb1ecf70cdaf5dae2b981ae394eefcdc0
是否= E:温度
relpaths = 1
timeout = 600
该= E:温度| RLP
{ 1 } | myfso111用户=
密码= ai9118bfd94a9ce9cf37ae5baa947ed596
是否= E:温度
relpaths = 1
timeout = 600
该= E:温度| RLP
{ 1 } | myfso222用户=
密码= ai9118bfd94a9ce9cf37ae5baa947ed596
是否= E:温度
relpaths = 1
timeout = 600
该= E:温度| RLP
Attached MD5.ASP
==========================================
<
私人const bits_to_a_byte = 8
私人const bytes_to_a_word = 4
私人const bits_to_a_word = 32
私人m_lonbits(30)
私人m_l2power(30)
私有函数LSHIFT(左值,ishiftbits)
如果ishiftbits = 0
LShift =左值
退出功能
ishiftbits = 31
如果左值和1
h80000000 LSHIFT =
其他的
LShift = 0
最后如果
退出功能
ishiftbits 31
错了,提高6。
最后如果
如果(左值和m_l2power(31 ishiftbits))然后
LShift =((左值和m_lonbits(31 -(((31(((ishiftbits + 1)))* m_l2power(ishiftbits))或h80000000
其他的
LShift =((左值和m_lonbits(31 ishiftbits))* m_l2power(ishiftbits))
最后如果
端功能
私有函数rshift(左值,ishiftbits)
如果ishiftbits = 0
rshift =左值
退出功能
ishiftbits = 31
如果左值和h80000000然后
rshift = 1
其他的
rshift = 0
最后如果
退出功能
ishiftbits 31
错了,提高6。
最后如果
rshift =(左值和h7ffffffe) m_l2power(ishiftbits)
如果(左值和h80000000)然后
rshift =(RShift或(h40000000 m_l2power(ishiftbits - 1)))
最后如果
端功能
私有函数RotateLeft(左值,ishiftbits)
RotateLeft = LSHIFT(左值,ishiftbits)或RShift(左值,(32 ishiftbits))
端功能
私有函数addunsigned(LX,LY)
昏暗的LX4
昏暗LY4
昏暗的lx8
昏暗LY8
暗淡一些
lx8 = LX和h80000000
LY和h80000000 LY8 =
LX4 = LX和h40000000
LY4 = LY和h40000000
一些=(LX和h3fffffff)+(LY和h3fffffff)
如果LX4、LY4然后
一些h80000000异或XOR异或=一些lx8 LY8
elseif LX4或LY4然后
如果一些和h40000000然后
一些hc0000000异或XOR异或=一些lx8 LY8
其他的
一些h40000000异或XOR异或=一些lx8 LY8
最后如果
其他的
一些一些lx8异或XOR LY8 =
最后如果
一些addunsigned =
端功能
私有函数md5_f(x,y,z)
md5_f =(X和Y)或((不是X)和Z)
端功能
私有函数md5_g(x,y,z)
md5_g =(X、Z)或(Y(不是Z))
端功能
私有函数md5_h(x,y,z)
md5_h =(X或Y或Z)
端功能
私有函数md5_i(x,y,z)
md5_i =(Y异或(X或(不是Z)))
端功能
私有子md5_ff(A,B,C,D,X,S,AC)
a addunsigned(A,addunsigned(addunsigned(md5_f(md5_f(B,C,D),x),AC)))
a RotateLeft(A,S)
a addunsigned(A,B)
端子
私有子md5_gg(A,B,C,D,X,S,AC)
a addunsigned(A,addunsigned(addunsigned(md5_g(md5_g(B,C,D),x),AC)))
a RotateLeft(A,S)
a addunsigned(A,B)
端子
私有子md5_hh(A,B,C,D,X,S,AC)
a addunsigned(A,addunsigned(addunsigned(md5_h(md5_h(B,C,D),x),AC)))
a RotateLeft(A,S)
a addunsigned(A,B)
端子
私有子md5_ii(A,B,C,D,X,S,AC)
a addunsigned(A,addunsigned(addunsigned(md5_i(md5_i(B,C,D),x),AC)))
a RotateLeft(A,S)
a addunsigned(A,B)
端子
私有函数converttowordarray(smessage)
昏暗的lmessagelength
昏暗的lnumberofwords
昏暗的lwordarray()
昏暗的lbyteposition
昏暗的lbytecount
昏暗的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
直到lbytecount = lmessagelength做
lwordcount = lbytecount bytes_to_a_word
lbyteposition =(lbytecount MOD bytes_to_a_word)* bits_to_a_byte
LWordArray(lwordcount)= lwordarray(lwordcount)或LShift(ASC(MID(smessage,lbytecount + 1, 1)),lbyteposition)
lbytecount = lbytecount + 1
环
lwordcount = lbytecount bytes_to_a_word
lbyteposition =(lbytecount MOD bytes_to_a_word)* bits_to_a_byte
LWordArray(lwordcount)= lwordarray(lwordcount)或LShift(H80,lbyteposition)
LWordArray(lnumberofwords - 2)= LSHIFT(lmessagelength,3)
LWordArray(lnumberofwords - 1)= rshift(lmessagelength,29)
converttowordarray = lwordarray
端功能
私有函数wordtohex(左值)
昏暗的lbyte
昏暗的lCount
0到3为lCount =
lbyte = rshift(左值,lCount * bits_to_a_byte)和m_lonbits(bits_to_a_byte - 1)
wordtohex = wordtohex右(0 六(lbyte),2)
下一个
端功能
公共函数MD5(smessage)
m_lonbits(0)=(1)设立
m_lonbits(1)=(3)设立
m_lonbits(2)=(7)设立
m_lonbits(3)=(15)设立
m_lonbits(4)=(31)设立
m_lonbits(5)=(63)设立
m_lonbits(6)=(127)设立
m_lonbits(7)=(255)设立
m_lonbits(8)=(511)设立
m_lonbits(9)=(1023)设立
m_lonbits(10)=(2047)设立
M_lOnBits (11) = CLng (4095)
m_lonbits(12)=(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)=(16777215)设立
m_lonbits(24)=(33554431)设立
m_lonbits(25)=(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)=(1)设立
m_l2power(1)=(2)设立
m_l2power(2)=(4)设立
m_l2power(3)=(8)设立
m_l2power(4)=(16)设立
m_l2power(5)=(32)设立
m_l2power(6)=(64)设立
m_l2power(7)=(128)设立
m_l2power(8)=(256)设立
m_l2power(9)=(512)设立
m_l2power(10)=(1024)设立
m_l2power(11)=(2048)设立
m_l2power(12)=(4096)设立
m_l2power(13)=(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)=(16777216)设立
m_l2power(25)=(33554432)设立
m_l2power(26)=(67108864)设立
m_l2power(27)= CLng(134217728)
m_l2power(28)= CLng(268435456)
M_l2Power (29) = CLng (536870912)
m_l2power(30)= CLng(1073741824)
昏暗的X
昏暗的K
昏暗的AA
昏暗的BB
昏暗的CC
昏暗的DD
暗淡
尺寸B
昏暗的C
昏暗的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
a h10325476
对于k = 0,UBound(x)步骤16
AA =一
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),3,hf4292244
md5_ii D,A,B,C,X(k + 7),S42,h432aff97
md5_ii C,D,A,B,X(k + 14),S3、hab9423a7
md5_ii B,C,D,A,X(k + 5),S44,hfc93a039
md5_ii A,B,C,D,X(k + 12),3,h655b59c3
md5_ii D,A,B,C,X(k + 3),S42,h8f0ccc92
md5_ii C,D,A,B,X(k + 10),S3、hffeff47d
md5_ii B,C,D,A,X(k + 1),S44,h85845dd1
md5_ii A,B,C,D,X(k + 8),3,h6fa87e4f
md5_ii D,A,B,C,X(k + 15),S42,hfe2ce6e0
md5_ii C,D,A,B,X(k + 6),S3、ha3014314
md5_ii B,C,D,A,X(k + 13),S44,h4e0811a1
md5_ii A,B,C,D,X(k + 4),3,hf7537e82
md5_ii D,A,B,C,X(k + 11),S42,hbd3af235
md5_ii C,D,A,B,X(k + 2),S3、h2ad7d2bb
md5_ii B,C,D,A,X(k + 9),S44,heb86d391
a addunsigned(A,AA)
B = addunsigned(B,BB)
C = addunsigned(C,CC)
a addunsigned(D,DD)
下一个
MD5 = LCase(wordtohex(一)wordtohex(B)wordtohex wordtohex(C)(D))
MD5 = 1例(wordtohex(B)wordtohex(C))作物到适合16byte数据库
端功能
%>