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

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? unit1.~pas

?? DES算法完整源碼與調(diào)用方法 DES算法完整源碼與調(diào)用方法
?? ~PAS
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
    cycleMove(key28r, bitDisplace[i]);
    key56o[0] := (key28l[0] shl 4) or (key28l[1] shr 4);
    key56o[1] := (key28l[1] shl 4) or (key28l[2] shr 4);
    key56o[2] := (key28l[2] shl 4) or (key28l[3] shr 4);
    key56o[3] := (key28l[3] shl 4) or (key28r[0]);
    key56o[4] := key28r[1];
    key56o[5] := key28r[2];
    key56o[6] := key28r[3];
    permutationChoose2(key56o, outKey[i]);
  end;
end;

procedure encry(inData, subKey: array of Byte;
   var outData: array of Byte);
var
  outBuf: array[0..5] of Byte;
  buf: array[0..7] of Byte;
  i: Integer;
begin
  expand(inData, outBuf);
  for i := 0 to 5 do outBuf[i] := outBuf[i] xor subKey[i];
  buf[0] := outBuf[0] shr 2;
  buf[1] := ((outBuf[0] and $03) shl 4) or (outBuf[1] shr 4);
  buf[2] := ((outBuf[1] and $0f) shl 2) or (outBuf[2] shr 6);
  buf[3] := outBuf[2] and $3f;
  buf[4] := outBuf[3] shr 2;
  buf[5] := ((outBuf[3] and $03) shl 4) or (outBuf[4] shr 4);
  buf[6] := ((outBuf[4] and $0f) shl 2) or (outBuf[5] shr 6);
  buf[7] := outBuf[5] and $3f;                                
  for i := 0 to 7 do buf[i] := si(i, buf[i]);
  for i := 0 to 3 do outBuf[i] := (buf[i*2] shl 4) or buf[i*2+1];
  permutation(outBuf);
  for i := 0 to 3 do outData[i] := outBuf[i];
end;

procedure desData(desMode: TDesMode;
  inData: array of Byte; var outData: array of Byte);
// inData, outData 都為8Bytes,否則出錯(cuò)
var
  i, j: Integer;
  temp, buf: array[0..3] of Byte;
begin
  for i := 0 to 7 do outData[i] := inData[i];
  initPermutation(outData);
  if desMode = dmEncry then
  begin
    for i := 0 to 15 do
    begin
      for j := 0 to 3 do temp[j] := outData[j];                 //temp = Ln
      for j := 0 to 3 do outData[j] := outData[j + 4];	        //Ln+1 = Rn
      encry(outData, subKey[i], buf);                           //Rn ==Kn==> buf
      for j := 0 to 3 do outData[j + 4] := temp[j] xor buf[j];  //Rn+1 = Ln^buf
    end;

    for j := 0 to 3 do temp[j] := outData[j + 4];
    for j := 0 to 3 do outData[j + 4] := outData[j];
    for j := 0 to 3 do outData[j] := temp[j];
  end
  else if desMode = dmDecry then
  begin
    for i := 15 downto 0 do
    begin
      for j := 0 to 3 do temp[j] := outData[j];
      for j := 0 to 3 do outData[j] := outData[j + 4];
      encry(outData, subKey[i], buf);
      for j := 0 to 3 do outData[j + 4] := temp[j] xor buf[j];
    end;
    for j := 0 to 3 do temp[j] := outData[j + 4];
    for j := 0 to 3 do outData[j + 4] := outData[j];
    for j := 0 to 3 do outData[j] := temp[j];
  end;
  conversePermutation(outData);
end;

//////////////////////////////////////////////////////////////

function EncryStr(Str, Key: String): String;
var
  StrByte, OutByte, KeyByte: array[0..7] of Byte;
  StrResult: String;
  I, J: Integer;
begin
  if (Length(Str) > 0) and (Ord(Str[Length(Str)]) = 0) then
    raise Exception.Create('Error: the last char is NULL char.');
  if Length(Key) < 8 then
    while Length(Key) < 8 do Key := Key + Chr(0);
  while Length(Str) mod 8 <> 0 do Str := Str + Chr(0);

  for J := 0 to 7 do KeyByte[J] := Ord(Key[J + 1]);
  makeKey(keyByte, subKey);

  StrResult := '';

  for I := 0 to Length(Str) div 8 - 1 do
  begin
    for J := 0 to 7 do
      StrByte[J] := Ord(Str[I * 8 + J + 1]);
    desData(dmEncry, StrByte, OutByte);
    for J := 0 to 7 do
      StrResult := StrResult + Chr(OutByte[J]);
  end;

  Result := StrResult;
end;

function DecryStr(Str, Key: String): String;
var
  StrByte, OutByte, KeyByte: array[0..7] of Byte;
  StrResult: String;
  I, J: Integer;
begin
  if Length(Key) < 8 then
    while Length(Key) < 8 do Key := Key + Chr(0);

  for J := 0 to 7 do KeyByte[J] := Ord(Key[J + 1]);
  makeKey(keyByte, subKey);

  StrResult := '';

  for I := 0 to Length(Str) div 8 - 1 do
  begin
    for J := 0 to 7 do StrByte[J] := Ord(Str[I * 8 + J + 1]);
    desData(dmDecry, StrByte, OutByte);
    for J := 0 to 7 do
      StrResult := StrResult + Chr(OutByte[J]);
  end;
  while (Length(StrResult) > 0) and
    (Ord(StrResult[Length(StrResult)]) = 0) do
    Delete(StrResult, Length(StrResult), 1);
  Result := StrResult;
end;

///////////////////////////////////////////////////////////

function EncryStrHex(Str, Key: String): String;
var
  StrResult, TempResult, Temp: String;
  I: Integer;
begin
  TempResult := EncryStr(Str, Key);
  StrResult := '';
  for I := 0 to Length(TempResult) - 1 do
  begin
    Temp := Format('%x', [Ord(TempResult[I + 1])]);
    if Length(Temp) = 1 then Temp := '0' + Temp;
    StrResult := StrResult + Temp;
  end;
  Result := StrResult;
end;

function DecryStrHex(StrHex, Key: String): String;
  function HexToInt(Hex: String): Integer;
  var
    I, Res: Integer;
    ch: Char;
  begin
    Res := 0;
    for I := 0 to Length(Hex) - 1 do
    begin
      ch := Hex[I + 1];
      if (ch >= '0') and (ch <= '9') then
        Res := Res * 16 + Ord(ch) - Ord('0')
      else if (ch >= 'A') and (ch <= 'F') then
        Res := Res * 16 + Ord(ch) - Ord('A') + 10
      else if (ch >= 'a') and (ch <= 'f') then
        Res := Res * 16 + Ord(ch) - Ord('a') + 10
      else raise Exception.Create('Error: not a Hex String');
    end;
    Result := Res;
  end;

var
  Str, Temp: String;
  I: Integer;
begin
  Str := '';
  for I := 0 to Length(StrHex) div 2 - 1 do
  begin
    Temp := Copy(StrHex, I * 2 + 1, 2);
    Str := Str + Chr(HexToInt(Temp));
  end;
  Result := DecryStr(Str, Key);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
//function EncryStrHex(Str, Key: String): String;
//這里的Str表示你要進(jìn)行加密的字符串,Key表示密鑰;
//function DecryStrHex(StrHex, Key: String): String;
//這里的Str表示你要進(jìn)行解密的字符串,Key表示密鑰;
if EncryStrhex(Edit1.Text,'ksaiy')=Edit2.Text then //這里的ksaiy是密鑰,你可以設(shè)置自己的密鑰。
  ShowMessage('注冊(cè)成功!')
else
  ShowMessage('注冊(cè)失敗!');
end;

///////////////////////////////////////////////////////////////////////////////
                         //Des DEMO V1.0//
                          //作者:ksaiy//
//歡迎使用由ksaiy制作的DES加密算法演示程序,此算法為標(biāo)準(zhǔn)的DES算法,你可以根據(jù)的
//的自己需要進(jìn)行變形。具體怎么操作可以登錄我們的網(wǎng)站查詢?cè)敿?xì)的資料。我們專門為軟
//件開發(fā)者提供軟件加密安全測(cè)試服務(wù)和軟件加密解決方案,具體的可以參看我們的網(wǎng)站上
//的資料。我們的網(wǎng)站:http://www.ksaiy.com  http://www.magicoa.com
//技術(shù)支持:ksaiy@sina.com 在線QQ:40188696 UC:934155
                            //End //

                  //注意:轉(zhuǎn)載請(qǐng)保留以上信息。//
///////////////////////////////////////////////////////////////////////////////


procedure TForm1.Button2Click(Sender: TObject);
begin
Close;
end;

end.































///////////////////////////////////////////////////////////////////////////////
                         //Des DEMO V1.0//
                          //作者:ksaiy//
//歡迎使用由ksaiy制作的DES加密算法演示程序,此算法為標(biāo)準(zhǔn)的DES算法,你可以根據(jù)的
//的自己需要進(jìn)行變形。具體怎么操作可以登錄我們的網(wǎng)站查詢?cè)敿?xì)的資料。我們專門為軟
//件開發(fā)者提供軟件加密安全測(cè)試服務(wù)和軟件加密解決方案,具體的可以參看我們的網(wǎng)站上
//的資料。我們的網(wǎng)站:http://www.ksaiy.com  http://www.magicoa.com
//技術(shù)支持:ksaiy@sina.com 在線QQ:40188696 UC:934155
                            //End //

                  //注意:轉(zhuǎn)載請(qǐng)保留以上信息。//                            
///////////////////////////////////////////////////////////////////////////////

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人动漫一区二区在线| 欧美三级电影精品| 亚洲成a人v欧美综合天堂| 精品88久久久久88久久久| 91福利资源站| 成人免费毛片aaaaa**| 美女视频免费一区| 一区二区三区精品在线| 国产精品午夜春色av| 日韩一卡二卡三卡四卡| 欧美日韩国产影片| 色综合天天性综合| 国产传媒一区在线| 国产综合久久久久久鬼色| 丝袜亚洲另类欧美综合| 亚洲一线二线三线久久久| 国产精品欧美久久久久无广告 | 麻豆国产精品777777在线| 亚洲欧洲中文日韩久久av乱码| 精品成人a区在线观看| 欧美日韩精品专区| 欧美三片在线视频观看| 91福利视频在线| 91视频com| 不卡av在线免费观看| 国产成人在线视频网址| 国产一区二区三区香蕉| 欧美aaaaaa午夜精品| 日本sm残虐另类| 日韩av在线播放中文字幕| 丝袜国产日韩另类美女| 午夜精品久久久久| 午夜精品123| 午夜影院久久久| 日韩在线观看一区二区| 亚洲成av人片一区二区三区| 一区二区三区四区不卡视频| 亚洲视频一区二区免费在线观看| 国产精品久久久久7777按摩| 国产精品三级av| 综合av第一页| 一区二区三区精品在线| 亚洲高清免费一级二级三级| 视频一区视频二区中文| 免费看欧美女人艹b| 激情六月婷婷久久| 国产成人精品免费视频网站| 成人成人成人在线视频| 97精品国产露脸对白| 91色porny蝌蚪| 欧美色图12p| 日韩一级片网站| 久久综合九色综合97婷婷女人 | 亚洲国产精品久久艾草纯爱| 天天免费综合色| 日本aⅴ亚洲精品中文乱码| 麻豆专区一区二区三区四区五区| 久久精品国产99国产精品| 国产精品一级在线| 成人成人成人在线视频| 欧亚洲嫩模精品一区三区| 91精品国产综合久久久久久久久久 | 中文字幕精品—区二区四季| 18成人在线观看| 一区二区三区免费网站| 喷水一区二区三区| 国产凹凸在线观看一区二区| 色综合欧美在线视频区| 91精品国产aⅴ一区二区| 久久女同精品一区二区| 亚洲欧美区自拍先锋| 日本成人在线网站| 国产精品一级片在线观看| 色综合久久中文字幕| 日韩一区二区三区电影在线观看| 久久久精品日韩欧美| 亚洲男人的天堂网| 麻豆精品在线观看| 99久久精品国产导航| 欧美剧情片在线观看| 国产丝袜美腿一区二区三区| 亚洲影院免费观看| 国产精品一二三四五| 在线视频一区二区三| 精品国产在天天线2019| 亚洲伦在线观看| 国内外成人在线视频| 欧美亚洲愉拍一区二区| 久久久亚洲国产美女国产盗摄| 亚洲一区二区三区在线看| 国产一区二区精品久久| 欧美午夜理伦三级在线观看| 国产网红主播福利一区二区| 性感美女极品91精品| 成人性色生活片| 欧美变态口味重另类| 一区二区三区日韩精品视频| 国产精品18久久久久久久久久久久 | 日韩毛片视频在线看| 激情综合色综合久久综合| 日本韩国一区二区三区| 国产日韩一级二级三级| 午夜精品久久久久久久久久| 99精品国产热久久91蜜凸| 2020国产精品| 人人狠狠综合久久亚洲| 欧美亚洲精品一区| 国产精品国产三级国产普通话蜜臀 | 久久综合九色综合97婷婷女人| 亚洲自拍偷拍av| 91视频免费看| 国产精品久久久久7777按摩| 国产一区二区三区精品欧美日韩一区二区三区 | 国产精品99久| 欧美一卡二卡在线| 偷窥少妇高潮呻吟av久久免费| 97精品国产露脸对白| 中文字幕av资源一区| 狠狠色丁香久久婷婷综| 日韩欧美一区二区免费| 日日摸夜夜添夜夜添亚洲女人| 97se狠狠狠综合亚洲狠狠| 国产欧美一区二区三区沐欲| 久久精品国产第一区二区三区| 91精品国模一区二区三区| 午夜在线成人av| 欧美日韩你懂的| 亚洲午夜精品17c| 欧美日韩免费高清一区色橹橹 | 国产精品亚洲一区二区三区在线 | 337p粉嫩大胆噜噜噜噜噜91av| 丝袜诱惑制服诱惑色一区在线观看| 欧美色视频一区| 亚洲午夜免费视频| 欧美日韩黄色影视| 天天综合天天做天天综合| 欧美伦理影视网| 麻豆国产精品官网| 精品久久久久久无| 国产黄人亚洲片| 中文字幕av资源一区| 91免费观看在线| 亚洲影院久久精品| 91麻豆精品国产91| 韩国一区二区视频| 亚洲国产精品精华液2区45| 成人精品国产福利| 亚洲精品高清在线| 欧美日韩一本到| 蜜臀精品一区二区三区在线观看 | 91丨porny丨国产| 亚洲国产综合人成综合网站| 欧美日韩在线电影| 久久国产精品免费| 国产精品麻豆欧美日韩ww| 色综合天天性综合| 日韩av成人高清| 久久久www免费人成精品| 成人黄页在线观看| 亚洲a一区二区| 欧美电视剧免费观看| 国产福利精品导航| 一区二区三区色| 日韩视频永久免费| 成人丝袜18视频在线观看| 亚洲精品日日夜夜| 日韩精品一区二区三区老鸭窝| 国产精品一二三四五| 亚洲美女在线国产| 欧美成人国产一区二区| 91在线视频免费91| 欧美一区二区成人| 一区二区三区四区高清精品免费观看| 欧美日韩不卡在线| 国产老肥熟一区二区三区| 亚洲欧美aⅴ...| 日韩欧美另类在线| 91亚洲国产成人精品一区二区三| 亚洲国产日韩综合久久精品| 日韩欧美色综合| 色综合久久中文综合久久牛| 美腿丝袜在线亚洲一区| 中文字幕五月欧美| 欧美电影免费观看高清完整版| 色综合天天在线| 国产综合色视频| 亚洲成a人片在线观看中文| 国产日韩av一区二区| 69久久夜色精品国产69蝌蚪网| 国产精品888| 午夜国产不卡在线观看视频| 国产精品毛片久久久久久| 精品三级av在线| 欧美日韩中文一区| 成人v精品蜜桃久久一区| 久久精品国产亚洲aⅴ | 免费人成黄页网站在线一区二区| 国产精品久久久久久久浪潮网站| 51精品秘密在线观看| 一本大道综合伊人精品热热|