delphi dcp component 

TDCP_md5

md5 String;

md5 stream;流文件

procedure TForm1.Button1Click(Sender: TObject);
var
  hashd: array [0 .. 31] of Byte;
  abytes: TByteDynArray;
  s: string;
  read, len: integer;
  ast: AnsiString;
begin
  ast := '中国';
  self.DCP_md51.Init;
  self.DCP_md51.UpdateStr(ast);
  self.DCP_md51.Final(hashd);
  len := DCP_md51.HashSize;
  s := '';
  for Read := 0 to ((len div 8) - 1) do
    s := s + IntToHex(hashd[Read], 2);
  Caption := s;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  hashd: array [0 .. 31] of Byte;
  s: string;
  read, len: integer;
  ast: string;
begin
  ast := '中国';
  self.DCP_md51.Init;
  self.DCP_md51.UpdateStr(ast);
  self.DCP_md51.Final(hashd);
  len := DCP_md51.HashSize;
  s := '';
  for Read := 0 to ((len div 8) - 1) do
    s := s + IntToHex(hashd[Read], 2);
  Caption := s;

end;

procedure TForm1.Button3Click(Sender: TObject);
var
  hashd: array [0 .. 41] of Byte;
  s: string;
  read, len: integer;
  ast: AnsiString;
begin
  ast := '中国';
  self.DCP_sha11.Init;
  self.DCP_sha11.UpdateStr(ast);
  self.DCP_sha11.Final(hashd);
  len := DCP_sha11.HashSize;
  s := '';
  for Read := 0 to ((len div 8) - 1) do
    s := s + IntToHex(hashd[Read], 2);
  Caption := s;
end;

 

stream

procedure TForm1.Button1Click(Sender: TObject);
var
  hashd: array [0 .. 31] of Byte;
  s: string;
  read, len: integer;
  ast: AnsiString;
  ss: TStringStream;
begin
  ast := '中国';
  ss := TStringStream.Create;
  ss.WriteString('ww');

  self.DCP_md51.Init;
  DCP_md51.UpdateStream(ss, ss.Size);
  self.DCP_md51.Final(hashd);
  ss.Free;

  len := DCP_md51.HashSize;
  s := '';
  for Read := 0 to ((len div 8) - 1) do
    s := s + IntToHex(hashd[Read], 2);
  Caption := s;
end;

 

posted on 2015-07-28 10:09  lypzxy  阅读(659)  评论(0编辑  收藏  举报