社区
Delphi
帖子详情
Delphi6中INDY控件組是作什麼用的?如MD5是不是加密控件?
Jobs_Weng
2003-09-05 08:37:42
Delphi6中INDY控件組是作什麼用的?如MD5是不是加密控件?
誰有這方面的應用經驗?
...全文
89
6
打赏
收藏
Delphi6中INDY控件組是作什麼用的?如MD5是不是加密控件?
Delphi6中INDY控件組是作什麼用的?如MD5是不是加密控件? 誰有這方面的應用經驗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
微雪缤纷
2003-09-05
打赏
举报
回复
上面打错了一个字,,MD5是用来检验文件完整性的。
不记得是从哪里看到的了。
MD5算法说明
一、补位
二、补数据长度
三、初始化MD5参数
四、处理位操作函数
五、主要变换过程
六、输出结果
补位:
MD5算法先对输入的数据进行补位,使得数据位长度LEN对512求余的结果是448。即数据扩展至K*512+448位。即K*64+56个字节,K为整数。
具体补位操作:补一个1,然后补0至满足上述要求。
补数据长度:
用一个64位的数字表示数据的原始长度B,把B用两个32位数表示。这时,数
据就被填补成长度为512位的倍数。
初始化MD5参数:
四个32位整数 (A,B,C,D) 用来计算信息摘要,初始化使用的是十六进制表
示的数字
A=0X01234567
B=0X89abcdef
C=0Xfedcba98
D=0X76543210
处理位操作函数:
X,Y,Z为32位整数。
F(X,Y,Z) = X&Y|NOT(X)&Z
G(X,Y,Z) = X&Z|Y?(Z)
H(X,Y,Z) = X xor Y xor Z
I(X,Y,Z) = Y xor (X|not(Z))
主要变换过程:
使用常数组T[1 ... 64], T[i]为32位整数用16进制表示,数据用16个32位
的整数数组M[]表示。
具体过程如下:
/* 处理数据原文 */
For i = 0 to N/16-1 do
/*每一次,把数据原文存放在16个元素的数组X中. */
For j = 0 to 15 do
Set X[j] to M[i*16+j].
end /结束对J的循环
/* Save A as AA, B as BB, C as CC, and D as DD.
*/
AA = A
BB = B
CC = C
DD = D
/* 第1轮*/
/* 以 [abcd k s i]表示如下操作
a = b + ((a + F(b,c,d) + X[k] + T[i]) <<< s). */
/* Do the following 16 operations. */
[ABCD 0 7 1] [DABC 1 12 2] [CDAB 2 17 3] [BCDA 3
22 4]
[ABCD 4 7 5] [DABC 5 12 6] [CDAB 6 17 7] [BCDA 7
22 8]
[ABCD 8 7 9] [DABC 9 12 10] [CDAB 10 17 11] [BCDA
11 22 12]
[ABCD 12 7 13] [DABC 13 12 14] [CDAB 14 17 15]
[BCDA 15 22 16]
/* 第2轮* */
/* 以 [abcd k s i]表示如下操作
a = b + ((a + G(b,c,d) + X[k] + T[i]) <<< s). */
/* Do the following 16 operations. */
[ABCD 1 5 17] [DABC 6 9 18] [CDAB 11 14 19] [BCDA
0 20 20]
[ABCD 5 5 21] [DABC 10 9 22] [CDAB 15 14 23]
[BCDA 4 20 24]
[ABCD 9 5 25] [DABC 14 9 26] [CDAB 3 14 27] [BCDA
8 20 28]
[ABCD 13 5 29] [DABC 2 9 30] [CDAB 7 14 31] [BCDA
12 20 32]
/* 第3轮*/
/* 以 [abcd k s i]表示如下操作
a = b + ((a + H(b,c,d) + X[k] + T[i]) <<< s). */
/* Do the following 16 operations. */
[ABCD 5 4 33] [DABC 8 11 34] [CDAB 11 16 35]
[BCDA 14 23 36]
[ABCD 1 4 37] [DABC 4 11 38] [CDAB 7 16 39] [BCDA
10 23 40]
[ABCD 13 4 41] [DABC 0 11 42] [CDAB 3 16 43]
[BCDA 6 23 44]
[ABCD 9 4 45] [DABC 12 11 46] [CDAB 15 16 47]
[BCDA 2 23 48]
/* 第4轮*/
/* 以 [abcd k s i]表示如下操作
a = b + ((a + I(b,c,d) + X[k] + T[i]) <<< s). */
/* Do the following 16 operations. */
[ABCD 0 6 49] [DABC 7 10 50] [CDAB 14 15 51]
[BCDA 5 21 52]
[ABCD 12 6 53] [DABC 3 10 54] [CDAB 10 15 55]
[BCDA 1 21 56]
[ABCD 8 6 57] [DABC 15 10 58] [CDAB 6 15 59]
[BCDA 13 21 60]
[ABCD 4 6 61] [DABC 11 10 62] [CDAB 2 15 63]
[BCDA 9 21 64]
/* 然后进行如下操作 */
A = A + AA
B = B + BB
C = C + CC
D = D + DD
end /* 结束对I的循环*/
输出结果。
sincere1314
2003-09-05
打赏
举报
回复
你可以看一下indy的demo,要的话留一个邮箱
微雪缤纷
2003-09-05
打赏
举报
回复
同意楼上。。((MD5是一种算法,专门用来检验文件完成性的
而indy是一组与网络相关的控件包(而且还提供全部源码,是学习网络编程的好东东),不单单是Internet。
OO_is_just_P
2003-09-05
打赏
举报
回复
MD5好像是提供在Internet检验传输正确性的,加密好加,不管原文多长,都生成等长度的密文,好像无法还原。就好像CRC一样。
//说错了别怪我。
你如果想加密字符串,可以跟我联系BigChenNotLittle@163.com。我有强加密模块。
Jobs_Weng
2003-09-05
打赏
举报
回复
我能不能對一個字串加密再保存到文件,比如說有EDIT1中有一串文字:9China9
能不能對之加密後保存到文件或保存回EDIT1的TEXT中?
OO_is_just_P
2003-09-05
打赏
举报
回复
Indy 是大名鼎鼎的Internet控件包,后来被Delphi收录其中。
MD5肯定是加密的了。
Delphi
7下
Indy
发送邮件示例,可以SSL发送,含和2002年的ssleay32.dll)
示例用
Delphi
的
Indy
控件
,试过用163或139邮箱发送,可以用普通端口25或SSL端口发送,可以发送附件。 内含2002年的ssleay32.dll和libeay32.dll,其它版本可能会报错“Could not load SSL library”。 smtp.163.com ...
C++Builder6 用Id10 发
加密
邮件所需资源
c++Builder6.0 添加Id10
控件
所需文件在
Indy
目录。我已用此资源开发出了
加密
邮件的发送程序。资源的使用借鉴
Delphi
网上有。 提醒:我用的是windows-xp 32位,要先移除Id8(c++Builder6自带),再添加Id10,文件头部...
kbmmw4.93 企业版 内存表
我对KbmMW最大的认可就是其开放的架构思路:通讯
控件
支持
Indy
(9和10)、Synapse、DxSock,数据库
控件
支持ADO和Unidac等、当然还有其他的
加密
、压缩等均支持开源的第三方
控件
,给开发人员了很大自由度。作者的热心也...
kbmMW4.0.0.3
中
间件
kbmMW4.0.3原版,...最大的认可就是其开放的架构思路:通讯
控件
支持
Indy
(9和10)、Synapse、DxSock,数据库
控件
支持ADO和Unidac等、当然还有其他的
加密
、压缩等均支持开源的第三方
控件
,给开发人员了很大自由度。
idhttp多线程模拟登录实例
多线程、IdHttp模拟登陆、
delphi
内嵌JavaScript实现解密
加密
代码、通过百度hi实现版本号验证、按账号绑定KEY。
Delphi
5,386
社区成员
262,729
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章