如何将Byte数组进行MD5加密 ( 积分: 200 )

  • 主题发起人 主题发起人 ykxiong1
  • 开始时间 开始时间
Y

ykxiong1

Unregistered / Unconfirmed
GUEST, unregistred user!
在JAVA中可以将Byte数组直接进行MD5加密函数,delphi中好象只有对字符串和文件进行MD5加密的函数,现在和JAVA的服务器加密不能同步了,那位大虾救命呀!
 
function MD5Bytes(B:PByte; Len:Integer) : MD5Digest;
var
Context : MD5Context;
begin
MD5Init(Context);
MD5Update(Context, PChar(B), Len);
MD5Final(Context, Result);
end;
调用:
MD5Bytes(@ByteArray[0], ByteArrayLen);
 
to:wr960204
下面是我测试的代码,怎么报Imcompatible types:'string'and 'MD5Digest',可知是那里出错了,难到是MD5函数的代码不一样吗?
var
s: array[0..7] of byte;
i: integer;
begin
for i := 1 to 8 do
begin
s[i - 1] := i;
end;
memo1.text := memo1.text + MD5Bytes(@s[0], 8);
 
知道错误了,我的数据类型搞错了,但是返回的是16位数组,和JAVA返回的是32位字符还是有区别的,您可知道怎么搞嘛,有劳大虾了
 
多人接受答案了。多谢,问题已解决
 
后退
顶部