おしえてください!
綾川的趣味之接続集
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;
よろしくお願いします。
function CalcMD5(ASrc:PByte; ASize:integer):string;
これですかね?
StreamのWriteと基本は同じだと思います。
stringを無理やり入れたいなら、
CalcMD5(PByte(PChar(strPassword)), Length(strPassword));
あたりかな?
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計算で確認したところ、同じ結果が得られました。
ありがとうございました!
動いてよかったです。
仕組みですが、簡単に分かる範囲で。
function CalcMD5(ASrc:PByte; ASize:integer):string;
の第一引数 ASrc は、バイト配列のポインタです。
b: array [0..1] of Byte とかだと、
PByte(b)とかで指定するハズ。あとは、@b[0] とか
さらに、第二引数は、そのバイト配列のサイズと思われます。
で、stringの場合は、PCharにキャストすると、Charの配列のポインタとして、取り出せます。
で、PByteでないと、CalcMD5で使えないので、さらにキャストしてます。
いきなり、PByteへのキャストでもよいようですね。
間違ってたら指摘してください。> 識者の方
ツイート | ![]() |