|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
ASP由于使用了COM组件所以它会变的十分强大,但是这样的强大由于WindowsNT系统最初的设计问题而会引发大量的安全问题。只要在这样的组件或是操作中一不注意,哪么外部攻击就可以取得相当高的权限而导致网站瘫痪或者数据丢失;算法MD5算法申明
1、MD5算法是对输出的数据举行补位,使得假如数据位长度LEN对512求余的了局是448。
即数据扩大至K*512+448位。即K*64+56个字节,K为整数。
详细补位操纵:补一个1,然后补0至满意上述请求
2、补数据长度:
用一个64位的数字暗示数据的原始长度B,把B用两个32位数暗示。这时候,数据就被填
补发展度为512位的倍数。
3.初始化MD5参数
四个32位整数(A,B,C,D)用来盘算信息择要,初始化利用的是十六进制暗示的数字
A=0X01234567
B=0X89abcdef
C=0Xfedcba98
D=0X76543210
4、处置位操纵函数
X,Y,Z为32位整数。
F(X,Y,Z)=X&Y|NOT(X)&Z
G(X,Y,Z)=X&Z|Ynot(Z)
H(X,Y,Z)=XxorYxorZ
I(X,Y,Z)=Yxor(X|not(Z))
5、次要变更历程:
利用常数组T[1...64],T[i]为32位整数用16进制暗示,数据用16个32位的整
数数组M[]暗示。
详细历程以下:
/*处置数据原文*/
Fori=0toN/16-1do
/*每次,把数据原文寄存在16个元素的数组X中.*/
Forj=0to15do
SetX[j]toM[i*16+j].
end/停止对J的轮回
/*SaveAasAA,BasBB,CasCC,andDasDD.
*/
AA=A
BB=B
CC=C
DD=D
/*第1轮*/
/*以[abcdksi]暗示以下操纵
a=b+((a+F(b,c,d)+X[k]+T[i])<<<s).*/
/*Dothefollowing16operations.*/
[ABCD071][DABC1122][CDAB2173][BCDA3
224]
[ABCD475][DABC5126][CDAB6177][BCDA7
228]
[ABCD879][DABC91210][CDAB101711][BCDA
112212]
[ABCD12713][DABC131214][CDAB141715]
[BCDA152216]
/*第2轮**/
/*以[abcdksi]暗示以下操纵
a=b+((a+G(b,c,d)+X[k]+T[i])<<<s).*/
/*Dothefollowing16operations.*/
[ABCD1517][DABC6918][CDAB111419][BCDA
02020]
[ABCD5521][DABC10922][CDAB151423]
[BCDA42024]
[ABCD9525][DABC14926][CDAB31427][BCDA
82028]
[ABCD13529][DABC2930][CDAB71431][BCDA
122032]
/*第3轮*/
/*以[abcdksi]暗示以下操纵
a=b+((a+H(b,c,d)+X[k]+T[i])<<<s).*/
/*Dothefollowing16operations.*/
[ABCD5433][DABC81134][CDAB111635]
[BCDA142336]
[ABCD1437][DABC41138][CDAB71639][BCDA
102340]
[ABCD13441][DABC01142][CDAB31643]
[BCDA62344]
[ABCD9445][DABC121146][CDAB151647]
[BCDA22348]
/*第4轮*/
/*以[abcdksi]暗示以下操纵
a=b+((a+I(b,c,d)+X[k]+T[i])<<<s).*/
/*Dothefollowing16operations.*/
[ABCD0649][DABC71050][CDAB141551]
[BCDA52152]
[ABCD12653][DABC31054][CDAB101555]
[BCDA12156]
[ABCD8657][DABC151058][CDAB61559]
[BCDA132160]
[ABCD4661][DABC111062][CDAB21563]
[BCDA92164]
/*然落后行以下操纵*/
A=A+AA
B=B+BB
C=C+CC
D=D+DD
end/*停止对I的轮回*/
6、输入了局。
</p>ASP脚本是采用明文(plaintext)方式来编写的。 |
|