仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 462|回复: 9
打印 上一主题 下一主题

[学习教程] ASP编程:MD5算法申明(转)

[复制链接]
活着的死人 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 23:19:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

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)方式来编写的。
灵魂腐蚀 该用户已被删除
沙发
发表于 2015-1-20 09:30:47 | 只看该作者
下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。
深爱那片海 该用户已被删除
板凳
发表于 2015-1-20 10:59:53 | 只看该作者
用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。
若相依 该用户已被删除
地板
发表于 2015-1-24 21:42:19 | 只看该作者
ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。
谁可相欹 该用户已被删除
5#
发表于 2015-1-31 15:45:27 | 只看该作者
Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名")
6#
发表于 2015-2-6 20:19:39 | 只看该作者
如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。
第二个灵魂 该用户已被删除
7#
发表于 2015-2-18 13:08:17 | 只看该作者
在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。
不帅 该用户已被删除
8#
发表于 2015-3-6 06:46:15 | 只看该作者
不能只是将它停留在纸上谈兵的程度上。
山那边是海 该用户已被删除
9#
发表于 2015-3-12 22:06:48 | 只看该作者
你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
金色的骷髅 该用户已被删除
10#
发表于 2015-3-20 03:43:26 | 只看该作者
我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 00:53

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表