亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? idhashmessagedigest.pas

?? delphi indy9.0.18組件包
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
  C := ROL(DoAdd(func_h(D, A, B), C, T16x4LongWordRecord(buff)[6], $6ED9EBA1), 11);
  B := ROL(DoAdd(func_h(C, D, A), B, T16x4LongWordRecord(buff)[14], $6ED9EBA1), 15);
  A := ROL(DoAdd(func_h(B, C, D), A, T16x4LongWordRecord(buff)[1], $6ED9EBA1), 3);
  D := ROL(DoAdd(func_h(A, B, C), D, T16x4LongWordRecord(buff)[9], $6ED9EBA1), 9);
  C := ROL(DoAdd(func_h(D, A, B), C, T16x4LongWordRecord(buff)[5], $6ED9EBA1), 11);
  B := ROL(DoAdd(func_h(C, D, A), B, T16x4LongWordRecord(buff)[13], $6ED9EBA1), 15);
  A := ROL(DoAdd(func_h(B, C, D), A, T16x4LongWordRecord(buff)[3], $6ED9EBA1), 3);
  D := ROL(DoAdd(func_h(A, B, C), D, T16x4LongWordRecord(buff)[11], $6ED9EBA1), 9);
  C := ROL(DoAdd(func_h(D, A, B), C, T16x4LongWordRecord(buff)[7], $6ED9EBA1), 11);
  B := ROL(DoAdd(func_h(C, D, A), B, T16x4LongWordRecord(buff)[15], $6ED9EBA1), 15);

  I64 := FBuffer[0];
  Inc(I64, A);
  FBuffer[0] := I64 and $FFFFFFFF;
  I64 := FBuffer[1];
  Inc(I64, B);
  FBuffer[1] := I64 and $FFFFFFFF;
  I64 := FBuffer[2];
  Inc(I64, C);
  FBuffer[2] := I64 and $FFFFFFFF;
  I64 := FBuffer[3];
  Inc(I64, D);
  FBuffer[3] := I64 and $FFFFFFFF;
end;

function TIdHashMessageDigest4.func_f(x, y, z : LongWord) : LongWord;
begin
  result := (x and y) or ( (not x) and z);
end;

function TIdHashMessageDigest4.func_g(x, y, z : LongWord) : LongWord;
begin
  result := (x and y) or (x and z) or (y and z);
end;

function TIdHashMessageDigest4.func_h(x, y, z : LongWord) : LongWord;
begin
  result := x xor y xor z;
end;

function TIdHashMessageDigest4.HashValue(AStream: TStream): T4x4LongWordRecord;
Var
  LStartPos: Integer;
  LBitSize,
  LSize: Int64;
  S: String;
  S1: String;
  LFillSize : Integer;
begin
  LStartPos := AStream.Position;
  LSize := AStream.Size - LStartPos;

  FBuffer := MD4_INIT_VALUES;

  while LSize - AStream.Position >= SizeOf(FCBuffer) do
  begin
    AStream.Read(FCBuffer[0], SizeOf(FCBuffer));
    MDCoder;
  end;

  // Ensure S1 has sufficient size to hold a complete 64-byte chunk
  SetLength(S1, SizeOf(FCBuffer));

  // Read the last set of bytes.
  LStartPos := AStream.Read(S1[1], 64);
  // Now adjust S1 to only hold the last set of bytes.
  SetLength(S1, LStartPos);
  // Append one bit with value 1
  S1 := S1 + Chr($80);

  // Must have sufficient space to insert the 64-bit length
  if Length(S1) > 64 - SizeOf(LSize) then
  begin
    SetLength(S, 64 - SizeOf(LSize));
    FillChar(S[1], 64 - SizeOf(LSize), #0);
    S1 := S1 + S;
    Move(S1[1], FCBuffer[0], SizeOf(FCBuffer));
    MDCoder;

    // Create a new block with only zeros.
    SetLength(S1, 64 - SizeOf(LSize));
    FillChar(S1[1], 64 - SizeOf(LSize), #0);
  end else
  begin
    LFillSize := 64 - ((LSize + 9) mod 64);
    // If the bit size will fit exact at the end (LFillSize = 64)
    // then S1 need not be padded.
    if LFillSize <> 64 then
    begin
      SetLength(S, LFillSize);
      FillChar(S[1], LFillSize, #0);
      S1 := S1 + S; // Extend the rest of the block with zeros
    end;
  end;

  // Append the Number of bits processed.
  LBitSize := LSize * 8;
  Setlength(S, SizeOf(LBitSize));
  Move(LBitSize, S[1], SizeOf(LBitSize));
  S1 := S1 + S; // Append the stream size
  Move(S1[1], FCBuffer[0], SizeOf(FCBuffer));

  MDCoder;

  result := FBuffer;
end;

{ TIdHashMessageDigest5 }

const
  MD5_SINE : array [1..64] of LongWord = (
   { Round 1. }
   $d76aa478, $e8c7b756, $242070db, $c1bdceee, $f57c0faf, $4787c62a,
   $a8304613, $fd469501, $698098d8, $8b44f7af, $ffff5bb1, $895cd7be,
   $6b901122, $fd987193, $a679438e, $49b40821,
   { Round 2. }
   $f61e2562, $c040b340, $265e5a51, $e9b6c7aa, $d62f105d, $02441453,
   $d8a1e681, $e7d3fbc8, $21e1cde6, $c33707d6, $f4d50d87, $455a14ed,
   $a9e3e905, $fcefa3f8, $676f02d9, $8d2a4c8a,
   { Round 3. }
   $fffa3942, $8771f681, $6d9d6122, $fde5380c, $a4beea44, $4bdecfa9,
   $f6bb4b60, $bebfbc70, $289b7ec6, $eaa127fa, $d4ef3085, $04881d05,
   $d9d4d039, $e6db99e5, $1fa27cf8, $c4ac5665,
   { Round 4. }
   $f4292244, $432aff97, $ab9423a7, $fc93a039, $655b59c3, $8f0ccc92,
   $ffeff47d, $85845dd1, $6fa87e4f, $fe2ce6e0, $a3014314, $4e0811a1,
   $f7537e82, $bd3af235, $2ad7d2bb, $eb86d391
  );

procedure TIdHashMessageDigest5.MDCoder;
var
  A, B, C, D : LongWord;
  I64 : Int64;
  x : T16x4LongWordRecord; // 64-byte buffer

  function DoAdd(const AOne, ATwo, AThree, AFour, AFive, AROL
    : LongWord) : LongWord;
  begin
    I64 := ATwo;
    I64 := I64 + AThree + AFour + AFive;
    I64 := ROL(I64 and $FFFFFFFF, AROL);
    Inc(I64, AOne);
    result := I64 and $FFFFFFFF;
  end;
begin
  A := FBuffer[0];
  B := FBuffer[1];
  C := FBuffer[2];
  D := FBuffer[3];

  System.Move(FCBuffer[0], x[0], SizeOf(x));

  { Round 1 }
  A := DoAdd(B, A, func_f(B, C, D), x[0], MD5_SINE[1], 7);
  D := DoAdd(A, D, func_f(A, B, C), x[1], MD5_SINE[2], 12);
  C := DoAdd(D, C, func_f(D, A, B), x[2], MD5_SINE[3], 17);
  B := DoAdd(C, B, func_f(C, D, A), x[3], MD5_SINE[4], 22);
  A := DoAdd(B, A, func_f(B, C, D), x[4], MD5_SINE[5], 7);
  D := DoAdd(A, D, func_f(A, B, C), x[5], MD5_SINE[6], 12);
  C := DoAdd(D, C, func_f(D, A, B), x[6], MD5_SINE[7], 17);
  B := DoAdd(C, B, func_f(C, D, A), x[7], MD5_SINE[8], 22);
  A := DoAdd(B, A, func_f(B, C, D), x[8], MD5_SINE[9], 7);
  D := DoAdd(A, D, func_f(A, B, C), x[9], MD5_SINE[10], 12);
  C := DoAdd(D, C, func_f(D, A, B), x[10], MD5_SINE[11], 17);
  B := DoAdd(C, B, func_f(C, D, A), x[11], MD5_SINE[12], 22);
  A := DoAdd(B, A, func_f(B, C, D), x[12], MD5_SINE[13], 7);
  D := DoAdd(A, D, func_f(A, B, C), x[13], MD5_SINE[14], 12);
  C := DoAdd(D, C, func_f(D, A, B), x[14], MD5_SINE[15], 17);
  B := DoAdd(C, B, func_f(C, D, A), x[15], MD5_SINE[16], 22);

  { Round 2 }
  A := DoAdd(B, A, func_g(B, C, D), x[1], MD5_SINE[17], 5);
  D := DoAdd(A, D, func_g(A, B, C), x[6], MD5_SINE[18], 9);
  C := DoAdd(D, C, func_g(D, A, B), x[11], MD5_SINE[19], 14);
  B := DoAdd(C, B, func_g(C, D, A), x[0], MD5_SINE[20], 20);
  A := DoAdd(B, A, func_g(B, C, D), x[5], MD5_SINE[21], 5);
  D := DoAdd(A, D, func_g(A, B, C), x[10], MD5_SINE[22], 9);
  C := DoAdd(D, C, func_g(D, A, B), x[15], MD5_SINE[23], 14);
  B := DoAdd(C, B, func_g(C, D, A), x[4], MD5_SINE[24], 20);
  A := DoAdd(B, A, func_g(B, C, D), x[9], MD5_SINE[25], 5);
  D := DoAdd(A, D, func_g(A, B, C), x[14], MD5_SINE[26], 9);
  C := DoAdd(D, C, func_g(D, A, B), x[3], MD5_SINE[27], 14);
  B := DoAdd(C, B, func_g(C, D, A), x[8], MD5_SINE[28], 20);
  A := DoAdd(B, A, func_g(B, C, D), x[13], MD5_SINE[29], 5);
  D := DoAdd(A, D, func_g(A, B, C), x[2], MD5_SINE[30], 9);
  C := DoAdd(D, C, func_g(D, A, B), x[7], MD5_SINE[31], 14);
  B := DoAdd(C, B, func_g(C, D, A), x[12], MD5_SINE[32], 20);

  { Round 3. }
  A := DoAdd(B, A, func_h(B, C, D), x[5], MD5_SINE[33], 4);
  D := DoAdd(A, D, func_h(A, B, C), x[8], MD5_SINE[34], 11);
  C := DoAdd(D, C, func_h(D, A, B), x[11], MD5_SINE[35], 16);
  B := DoAdd(C, B, func_h(C, D, A), x[14], MD5_SINE[36], 23);
  A := DoAdd(B, A, func_h(B, C, D), x[1], MD5_SINE[37], 4);
  D := DoAdd(A, D, func_h(A, B, C), x[4], MD5_SINE[38], 11);
  C := DoAdd(D, C, func_h(D, A, B), x[7], MD5_SINE[39], 16);
  B := DoAdd(C, B, func_h(C, D, A), x[10], MD5_SINE[40], 23);
  A := DoAdd(B, A, func_h(B, C, D), x[13], MD5_SINE[41], 4);
  D := DoAdd(A, D, func_h(A, B, C), x[0], MD5_SINE[42], 11);
  C := DoAdd(D, C, func_h(D, A, B), x[3], MD5_SINE[43], 16);
  B := DoAdd(C, B, func_h(C, D, A), x[6], MD5_SINE[44], 23);
  A := DoAdd(B, A, func_h(B, C, D), x[9], MD5_SINE[45], 4);
  D := DoAdd(A, D, func_h(A, B, C), x[12], MD5_SINE[46], 11);
  C := DoAdd(D, C, func_h(D, A, B), x[15], MD5_SINE[47], 16);
  B := DoAdd(C, B, func_h(C, D, A), x[2], MD5_SINE[48], 23);

  { Round 4. }
  A := DoAdd(B, A, func_i(B, C, D), x[0], MD5_SINE[49], 6);
  D := DoAdd(A, D, func_i(A, B, C), x[7], MD5_SINE[50], 10);
  C := DoAdd(D, C, func_i(D, A, B), x[14], MD5_SINE[51], 15);
  B := DoAdd(C, B, func_i(C, D, A), x[5], MD5_SINE[52], 21);
  A := DoAdd(B, A, func_i(B, C, D), x[12], MD5_SINE[53], 6);
  D := DoAdd(A, D, func_i(A, B, C), x[3], MD5_SINE[54], 10);
  C := DoAdd(D, C, func_i(D, A, B), x[10], MD5_SINE[55], 15);
  B := DoAdd(C, B, func_i(C, D, A), x[1], MD5_SINE[56], 21);
  A := DoAdd(B, A, func_i(B, C, D), x[8], MD5_SINE[57], 6);
  D := DoAdd(A, D, func_i(A, B, C), x[15], MD5_SINE[58], 10);
  C := DoAdd(D, C, func_i(D, A, B), x[6], MD5_SINE[59], 15);
  B := DoAdd(C, B, func_i(C, D, A), x[13], MD5_SINE[60], 21);
  A := DoAdd(B, A, func_i(B, C, D), x[4], MD5_SINE[61], 6);
  D := DoAdd(A, D, func_i(A, B, C), x[11], MD5_SINE[62], 10);
  C := DoAdd(D, C, func_i(D, A, B), x[2], MD5_SINE[63], 15);
  B := DoAdd(C, B, func_i(C, D, A), x[9], MD5_SINE[64], 21);

  I64 := FBuffer[0];
  Inc(I64, A);
  FBuffer[0] := I64 and $FFFFFFFF;
  I64 := FBuffer[1];
  Inc(I64, B);
  FBuffer[1] := I64 and $FFFFFFFF;
  I64 := FBuffer[2];
  Inc(I64, C);
  FBuffer[2] := I64 and $FFFFFFFF;
  I64 := FBuffer[3];
  Inc(I64, D);
  FBuffer[3] := I64 and $FFFFFFFF;
end;

function TIdHashMessageDigest5.func_g(x, y, z : LongWord) : LongWord;
begin
  result := (x and z) or (y and (not z));
end;

function TIdHashMessageDigest5.func_i(x, y, z : LongWord) : LongWord;
begin
  result := y xor (x or (not z));
end;

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美三级视频在线| 亚洲gay无套男同| 日产国产高清一区二区三区| 国产高清精品久久久久| 91精品在线一区二区| 亚洲四区在线观看| 激情丁香综合五月| 91麻豆精品国产91久久久久久久久 | 91黄色激情网站| 国产欧美日韩综合| 老司机精品视频在线| 欧洲一区在线电影| 最新日韩在线视频| 夫妻av一区二区| 久久日韩粉嫩一区二区三区| 三级影片在线观看欧美日韩一区二区| 国产精品一区二区久久精品爱涩| 欧美精品色综合| 亚洲综合免费观看高清完整版 | 欧美日韩黄色一区二区| 中文字幕av免费专区久久| 韩国欧美国产一区| 777久久久精品| 偷拍亚洲欧洲综合| 欧美天堂亚洲电影院在线播放| 亚洲欧洲日本在线| 国产成人欧美日韩在线电影| 欧美成人bangbros| 久久精品二区亚洲w码| 欧美一区二区三区在线视频 | 最新成人av在线| 成人av在线观| 综合婷婷亚洲小说| 97久久精品人人爽人人爽蜜臀| 亚洲国产精品二十页| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 1区2区3区精品视频| 99久久777色| 亚洲美女偷拍久久| 在线观看免费视频综合| 亚洲成人动漫av| 欧美一区二区三区免费观看视频| 日韩电影网1区2区| 欧美成人高清电影在线| 国产一区二区美女| 国产精品无圣光一区二区| 成人性生交大片免费看中文 | 精品不卡在线视频| 国产成a人亚洲精| 一区在线播放视频| 欧美性感一类影片在线播放| 亚洲成a人v欧美综合天堂下载| 欧美日本韩国一区二区三区视频| 天堂成人免费av电影一区| 欧美大片一区二区三区| 福利电影一区二区| 亚洲一级在线观看| 日韩欧美国产午夜精品| 国产成人欧美日韩在线电影| 亚洲三级免费观看| 欧美人成免费网站| 国产综合色在线视频区| 国产精品福利一区二区三区| 欧美日韩一级二级三级| 国产乱子伦视频一区二区三区 | 久久久久久电影| 91丨porny丨户外露出| 日韩不卡一区二区| 亚洲国产精品99久久久久久久久| 欧洲另类一二三四区| 国内精品视频666| 伊人开心综合网| 2023国产精品| 欧美日韩精品电影| 成人av电影免费在线播放| 午夜av一区二区三区| 亚洲国产精品ⅴa在线观看| 欧美疯狂性受xxxxx喷水图片| 久久国产福利国产秒拍| 亚洲免费观看高清完整版在线 | 99久久综合狠狠综合久久| 日韩综合在线视频| 亚洲美腿欧美偷拍| 中文字幕精品一区| 欧美一区二区久久| 欧美色图天堂网| 91丨porny丨国产入口| 激情丁香综合五月| 午夜精品在线看| 亚洲人成精品久久久久| 久久精品亚洲精品国产欧美kt∨| 欧美日本一道本在线视频| 9久草视频在线视频精品| 国产一区二区精品久久| 日本中文一区二区三区| 亚洲综合在线视频| 18成人在线视频| 久久嫩草精品久久久久| 日韩欧美色综合网站| 欧美高清视频www夜色资源网| 91蝌蚪porny九色| 国产精品88av| 国产一区二区三区免费播放| 天堂影院一区二区| 亚洲成人自拍偷拍| 亚洲高清免费在线| 亚洲青青青在线视频| 国产欧美日韩亚州综合 | 欧美日韩一区成人| 在线观看日韩高清av| 91麻豆精品秘密| 91丝袜美女网| 99re成人精品视频| 一本久久精品一区二区| 97超碰欧美中文字幕| av电影在线观看一区| 国产毛片精品一区| 粉嫩av一区二区三区在线播放 | 国产91丝袜在线观看| 国产精品一区二区久久精品爱涩 | 美女脱光内衣内裤视频久久网站 | 日本一区二区电影| 国产精品乱码一区二区三区软件 | 精品日韩av一区二区| 欧美videos大乳护士334| 欧美成人一区二区三区 | 日韩女优制服丝袜电影| 欧美成人国产一区二区| 国产拍揄自揄精品视频麻豆| 国产精品盗摄一区二区三区| 亚洲精品免费播放| 五月婷婷色综合| 国内成人免费视频| 国产99一区视频免费| 91小视频在线免费看| 欧美精品一级二级三级| 久久影院午夜片一区| 亚洲欧美视频在线观看| 亚洲mv在线观看| 国模套图日韩精品一区二区| 99久久精品国产精品久久| 欧美日韩中文一区| 久久久久久久久久久久久夜| 亚洲欧洲中文日韩久久av乱码| 亚洲中国最大av网站| 乱中年女人伦av一区二区| 亚洲欧美日韩国产综合在线| 亚洲女与黑人做爰| 蜜臀av性久久久久蜜臀aⅴ | 乱中年女人伦av一区二区| 欧美日韩视频专区在线播放| 欧美zozozo| 成人激情电影免费在线观看| 欧美日韩在线播放三区| 欧美刺激脚交jootjob| ●精品国产综合乱码久久久久 | 精品亚洲国产成人av制服丝袜| 久久精品国产亚洲5555| 色婷婷久久99综合精品jk白丝| 欧美二区三区的天堂| 久久久久久久久久久久电影| 自拍偷自拍亚洲精品播放| 亚洲一区二区三区免费视频| 久久成人免费网站| 99久久精品国产导航| 欧美视频在线观看一区二区| 欧美性做爰猛烈叫床潮| 久久久午夜精品| 亚洲成a天堂v人片| 91亚洲精品久久久蜜桃| 欧美午夜片在线看| 久久无码av三级| 亚洲无线码一区二区三区| 国产一区二区三区精品欧美日韩一区二区三区 | 欧美美女直播网站| 国产欧美日韩卡一| 亚洲成人黄色小说| 色综合一个色综合亚洲| 久久亚洲一区二区三区明星换脸 | 成人爽a毛片一区二区免费| 欧美午夜不卡在线观看免费| 久久久久一区二区三区四区| 亚洲国产精品ⅴa在线观看| 久久91精品国产91久久小草| 91色综合久久久久婷婷| 久久综合狠狠综合| 亚洲国产日产av| 色老头久久综合| 国产欧美日韩另类视频免费观看| 午夜精品久久久久久久久久久 | 久久久久久久网| 麻豆精品国产传媒mv男同| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 91精品国产综合久久精品性色| 国产精品女同互慰在线看| 麻豆91在线看| 欧美日韩你懂得| 午夜成人免费视频| 欧美午夜理伦三级在线观看| 中文字幕制服丝袜成人av|