MD5

解決


だし  2007-08-22 01:58:24  No: 27472

おしえてください!

綾川的趣味之接続集
http://homepage1.nifty.com/Ayakawa/index.html
MD5計算ユニット
http://homepage1.nifty.com/Ayakawa/soft/delphi.html#md5

上記サイトで提供していただいているMD5計算ユニットを使いたいのですが、使い方がわかりません。

たとえば、下記のような場合、パラメータはどのような指定にすればよろしいのでしょうか。

uses md5;

var
  strPassword: string;
  strMD5: string;
begin
  strPassword = 'hogehoge';
  strMD5 := CalcMD5({???}, {???});
end;

よろしくお願いします。


TOBY  URL  2007-08-22 11:16:20  No: 27473

function CalcMD5(ASrc:PByte; ASize:integer):string;
これですかね?

StreamのWriteと基本は同じだと思います。
stringを無理やり入れたいなら、

  CalcMD5(PByte(PChar(strPassword)), Length(strPassword));

あたりかな?


だし  2007-08-22 19:22:03  No: 27474

TOBYさま
ありがとうございます。

1.
CalcMD5(PByte(PChar(strPassword)), Length(strPassword));
2.
CalcMD5(PByte(strPassword), Length(strPassword));

仕組みがよくわかってませんが、1でも2でも同じ結果が得られました。

また、MD5ハッシュ計算ツール
http://phpspot.net/php/pg%82l%82c%82T%83n%83b%83V%83%85%8Cv%8EZ%83c%81%5B%83%8B.html

上記URLでMD5計算で確認したところ、同じ結果が得られました。

ありがとうございました!


TOBY  URL  2007-08-27 08:00:50  No: 27475

動いてよかったです。

仕組みですが、簡単に分かる範囲で。

function CalcMD5(ASrc:PByte; ASize:integer):string;

の第一引数 ASrc は、バイト配列のポインタです。
b: array [0..1] of Byte とかだと、
PByte(b)とかで指定するハズ。あとは、@b[0] とか
さらに、第二引数は、そのバイト配列のサイズと思われます。

で、stringの場合は、PCharにキャストすると、Charの配列のポインタとして、取り出せます。
で、PByteでないと、CalcMD5で使えないので、さらにキャストしてます。
いきなり、PByteへのキャストでもよいようですね。

間違ってたら指摘してください。> 識者の方


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加