******************关于sha1算法*************************

Qyg 2006-09-04 04:04:07
想知道在sha1算法中的长度为64的常量字符串是做什么用的?另外在初始化hash的时候对其中的一个结果进行操作,结构如下:
PSHA256Ctx = ^TSHA256Ctx;
TSHA256Ctx = record
state: array[0..7] of LongWord;
length, curlen: LongWord;
buf: array[0..63] of Byte;
end;
谁能帮我讲讲这个结构是用来干什么的?
我实在是看不明白,请各位大侠赐教
...全文
381 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ly_liuyang 2006-09-06
  • 打赏
  • 举报
回复
搞个Cipher包就搞定,代码就那么几行而已
充分利用RAD的优势~
AOCOC 2006-09-04
  • 打赏
  • 举报
回复
路过。JF
柯本 2006-09-04
  • 打赏
  • 举报
回复
TSHA256Ctx为一结构,内容为sh1的头(Context),(我的sh1的context中还有一个index)
PSHA256Ctx 为指向TSHA256Ctx的指针
我的定义为:
type
TSHA1Context= record
Hash: array[0..4] of DWord;
Hi, Lo: integer;
Buffer: array[0..63] of byte;
Index: integer;
end;
然后对sh1初始化时:
procedure SHA1Init(var Context: TSHA1Context);
begin
Context.Hi:= 0; Context.Lo:= 0;
Context.Index:= 0;
FillChar(Context.Buffer,Sizeof(Context.Buffer),0);
Context.Hash[0]:= $67452301;
Context.Hash[1]:= $EFCDAB89;
Context.Hash[2]:= $98BADCFE;
Context.Hash[3]:= $10325476;
Context.Hash[4]:= $C3D2E1F0;
end;
sh1中的buffer是存放sh1运算的初始数据及中间结果的(共64字节)
zhuminghua 2006-09-04
  • 打赏
  • 举报
回复
这个结构是自定义的吧,它的元素分别是状态、长度、当前位置和缓冲区,我这么理解。
Qyg 2006-09-04
  • 打赏
  • 举报
回复
结贴了。晕死
Qyg 2006-09-04
  • 打赏
  • 举报
回复
快一下午了,没有人知道嘛?

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧