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

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

?? unit1.pas

?? 3des算法code,已經(jīng)通過(guò)visual c++編譯.比一重des算法更加可靠!
?? PAS
字號(hào):
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
(*
  typedef unsigned short int UINT2;
  typedef unsigned long int UINT4;

  typedef struct {
    UINT4 subkeys[32];                                             /* subkeys */
    UINT4 iv[2];                                       /* initializing vector */
    UINT4 originalIV[2];                        /* for restarting the context */
    int encrypt;                                               /* encrypt flag */
  } DES_CBC_CTX;

  typedef struct {
    UINT4 subkeys[32];                                             /* subkeys */
    UINT4 iv[2];                                       /* initializing vector */
    UINT4 inputWhitener[2];                                 /* input whitener */
    UINT4 outputWhitener[2];                               /* output whitener */
    UINT4 originalIV[2];                        /* for restarting the context */
    int encrypt;                                              /* encrypt flag */
  } DESX_CBC_CTX;

  typedef struct {
    UINT4 subkeys[3][32];                     /* subkeys for three operations */
    UINT4 iv[2];                                       /* initializing vector */
    UINT4 originalIV[2];                        /* for restarting the context */
    int encrypt;                                              /* encrypt flag */
  } DES3_CBC_CTX;
*)
  UINT2 = Smallint;
  UINT4 = Longint;

  DES_CBC_CTX = packed record
    subkeys: array[1..32] of UINT4;
    iv: array[1..2] of UINT4;
    originalIV: array[1..2] of UINT4;
    encrypt: Integer;
  end;

  DESX_CBC_CTX = packed record
    subkeys: array[1..32] of UINT4;
    iv: array[1..2] of UINT4;
    inputWhitener: array[1..2] of UINT4;
    outputWhitener: array[1..2] of UINT4;
    originalIV: array[1..2] of UINT4;
    encrypt: Integer;
  end;
  
  DES3_CBC_CTX = packed record
    subkeys: array[1..3, 1..32] of UINT4;
    iv: array[1..2] of UINT4;
    originalIV: array[1..2] of UINT4;
    encrypt: Integer;
  end;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    Memo1: TMemo;
    Button2: TButton;
    Edit2: TEdit;
    Button3: TButton;
    Label1: TLabel;
    Edit3: TEdit;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

function StrToHex(const S: String): String;
function HexToStr(const S: String): String;

{$L des.obj}

{
void DES_CBCInit(DES_CBC_CTX *, unsigned char *, unsigned char *, int);
int DES_CBCUpdate(DES_CBC_CTX *, unsigned char *, unsigned char *, unsigned int);
void DES_CBCRestart(DES_CBC_CTX *);

void DESX_CBCInit(DESX_CBC_CTX *, unsigned char *, unsigned char *, int);
int DESX_CBCUpdate(DESX_CBC_CTX *, unsigned char *, unsigned char *, unsigned int);
void DESX_CBCRestart(DESX_CBC_CTX *);

void DES3_CBCInit(DES3_CBC_CTX *, unsigned char *, unsigned char *, int);
int DES3_CBCUpdate(DES3_CBC_CTX *, unsigned char *, unsigned char *, unsigned int);
void DES3_CBCRestart(DES3_CBC_CTX *);
}

procedure DES_CBCInit(var ctx: DES_CBC_CTX; key: PChar; iv: PChar; encrypt: Integer); external;
function DES_CBCUpdate(var ctx: DES_CBC_CTX; output: PChar; input: PChar; len: Integer): Integer; external;
procedure DES_CBCRestart(var ctx: DES_CBC_CTX); external;

procedure DESX_CBCInit(var ctx: DESX_CBC_CTX; key: PChar; iv: PChar; encrypt: Integer); external;
function DESX_CBCUpdate(var ctx: DESX_CBC_CTX; output: PChar; input: PChar; len: Integer): Integer; external;
procedure DESX_CBCRestart(var ctx: DESX_CBC_CTX); external;

procedure DES3_CBCInit(var ctx: DES3_CBC_CTX; key: PChar; iv: PChar; encrypt: Integer); external;
function DES3_CBCUpdate(var ctx: DES3_CBC_CTX; output: PChar; input: PChar; len: Integer): Integer; external;
procedure DES3_CBCRestart(var ctx: DES3_CBC_CTX); external;

function EncryptStr(const S: String; const Key: String): String;
function DecryptStr(const S: String; const Key: String): String;

implementation

{$R *.dfm}

function StrToHex(const S: String): String;
var
  i, t: Integer;
begin
  SetLength(Result, Length(S)*2);
  for i := 1 to Length(S) do
  begin
    t := Ord(S[i]) and $0F;
    if t < 10 then
      Result[i*2] := Chr(Ord('0') + t)
    else
      Result[i*2] := Chr(Ord('A') + (t - 10));
    t := (Ord(S[i]) shr 4) and $0F;
    if t < 10 then
      Result[i*2 - 1] := Chr(Ord('0') + t)
    else
      Result[i*2 - 1] := Chr(Ord('A') + (t - 10));
  end;
end;

function HexToStr(const S: String): String;
var
  i: Integer;
  t: Byte;
begin
  SetLength(Result, Length(S) div 2);
  FillChar(PChar(Result)^, Length(Result), 0);
  for i := 1 to Length(S) div 2 * 2 do
  begin
    if (S[i] >= 'a') and (S[i] <= 'z') then
      t := Ord(S[i]) - Ord('a') + 10
    else if (S[i] >= 'A') and (S[i] <= 'Z') then
      t := Ord(S[i]) - Ord('A') + 10
    else if (S[i] >= '0') and (S[i] <= '9') then
      t := Ord(S[i]) - Ord('0')
    else
      t := 0;
    if i mod 2 <> 0 then t := t shl 4;
    Byte(Result[(i + 1) div 2]) :=
      Byte(Result[(i + 1) div 2]) or Byte(t);
  end;  
end;

function EncryptStr(const S: String; const Key: String): String;
var
  ctx: DES_CBC_CTX;
  t1, t2: String;
  len: Integer;
begin
  t1 := Key;
  t2 := Key;
  DES_CBCInit(ctx, PChar(t1), PChar(t2), 1);
  len := Length(S);
  len := (len + 7) div 8 * 8;
  SetLength(Result, len);
  DES_CBCUpdate(ctx, PChar(Result), PChar(S), len);
end;

function DecryptStr(const S: String; const Key: String): String;
var
  ctx: DES_CBC_CTX;
  t1, t2: String;
  len: Integer;
begin
  t1 := Key;
  t2 := Key;
  DES_CBCInit(ctx, PChar(t1), PChar(t2), 0);
  len := Length(S);
  len := (len + 7) div 8 * 8;
  SetLength(Result, len);
  DES_CBCUpdate(ctx, PChar(Result), PChar(S), len);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  t1, t2: String;
  s1, b: String;
begin
  t1 := Edit1.Text;
  t2 := Edit2.Text;
  t1 := t1 + StringOfChar(#0, (Length(t1) + 7) div 8 * 8 - Length(t1));
  s1 := EncryptStr(t2, t1);
  b := StrToHex(s1);
  Memo1.Text := b;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  s1, s2, b: String;
  t1: String;
begin
  b := Memo1.Text;
  t1 := Edit1.Text;
  t1 := t1 + StringOfChar(#0, (Length(t1) + 7) div 8 * 8 - Length(t1));
  s1 := HexToStr(b);
  s2 := DecryptStr(s1, t1);
  Edit3.Text := s2;
end;

procedure TForm1.Button3Click(Sender: TObject);
var
  s: String;
begin
  s := Edit1.Text;
  s := StrToHex(s);
  ShowMessage(s);
  s := HexToStr(s);
  ShowMessage(s);
end;

end.



?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91麻豆精品国产91久久久更新时间| 欧美激情一区三区| 洋洋av久久久久久久一区| 成人在线视频首页| 中文字幕亚洲综合久久菠萝蜜| 色婷婷亚洲精品| 五月综合激情日本mⅴ| 日韩精品一区二| voyeur盗摄精品| 亚洲国产日产av| 久久免费视频色| 欧美在线一二三| 久久精品国产免费| 国产精品午夜免费| 精品国产一区二区三区四区四| 91在线视频免费观看| 国产一区二区日韩精品| 亚洲免费在线播放| 日韩免费观看2025年上映的电影| 91精品国产综合久久香蕉的特点| 在线不卡一区二区| 91在线国产观看| 色一情一乱一乱一91av| 在线视频国内自拍亚洲视频| 欧美日韩国产成人在线免费| 成人午夜视频免费看| av毛片久久久久**hd| 欧美中文字幕一区| 日韩精品一区二区三区在线观看| 国产亚洲美州欧州综合国| 91精品国产色综合久久ai换脸| 91视频在线观看免费| 国产乱码精品1区2区3区| 石原莉奈在线亚洲二区| 国产精品高清亚洲| 久久精品国产99| 成人爱爱电影网址| 高清av一区二区| 久久66热偷产精品| 蜜桃视频免费观看一区| 亚洲国产日韩综合久久精品| 青草国产精品久久久久久| 亚洲成av人**亚洲成av**| 亚洲美女在线国产| 麻豆成人av在线| www.日韩大片| 欧美日韩精品久久久| 久久久国际精品| 亚洲国产精品麻豆| 国产二区国产一区在线观看| 激情偷乱视频一区二区三区| 狂野欧美性猛交blacked| 成人小视频在线| 4438x成人网最大色成网站| 欧美国产日产图区| 视频在线观看一区二区三区| 丁香婷婷深情五月亚洲| 欧美另类变人与禽xxxxx| 日本一区二区三区视频视频| 国产精品丝袜久久久久久app| 亚洲图片欧美色图| 国产不卡视频一区| 制服丝袜激情欧洲亚洲| 国产精品免费视频一区| 麻豆精品一区二区综合av| 一本大道久久精品懂色aⅴ| 精品久久久久久久久久久久久久久久久| 日韩欧美精品在线| 一区二区三区四区五区视频在线观看| 国内一区二区在线| 在线成人小视频| 亚洲欧美aⅴ...| 风间由美一区二区av101| 日韩免费观看高清完整版在线观看| 亚洲精品日韩综合观看成人91| 亚洲高清三级视频| 成人深夜视频在线观看| 日韩欧美高清dvd碟片| 亚洲电影一级黄| 91猫先生在线| 国产精品久久久久aaaa| 国产福利电影一区二区三区| 日韩欧美激情一区| 日韩国产高清影视| 国产精品一区一区三区| 日韩一级片在线观看| 国产午夜精品在线观看| 另类小说色综合网站| 欧美精品一二三| 亚洲福利国产精品| 91久久精品午夜一区二区| 欧美一二三四在线| 日韩经典一区二区| 欧美丰满少妇xxxxx高潮对白 | 亚洲成a人片在线不卡一二三区| 成人av高清在线| 国产精品拍天天在线| 国产1区2区3区精品美女| 国产亚洲欧美激情| 国产成人亚洲精品青草天美 | 日韩影院免费视频| 欧美日韩在线播| 欧美高清在线一区二区| 国产福利一区二区三区视频在线 | 亚洲午夜羞羞片| 日本乱人伦aⅴ精品| 一二三区精品视频| 在线亚洲+欧美+日本专区| 亚洲欧美视频在线观看| 在线观看国产精品网站| 亚洲一区在线视频观看| 国产成人在线色| 国产精品三级在线观看| 波多野结衣中文字幕一区| 亚洲日本一区二区| 国产乱对白刺激视频不卡| 国产亚洲精品bt天堂精选| 成人午夜视频在线观看| 18成人在线观看| 欧美三级一区二区| 男女男精品视频网| 亚洲精品一区二区三区蜜桃下载| 国产精品18久久久久久久久| 国产精品天干天干在观线| 99vv1com这只有精品| 一级日本不卡的影视| 欧美日韩激情在线| 美日韩一级片在线观看| 国产农村妇女毛片精品久久麻豆| www.99精品| 日韩制服丝袜av| 精品国产髙清在线看国产毛片| 国产成人av电影在线播放| 亚洲欧美乱综合| 欧美一区二区三区不卡| 九一九一国产精品| 国产精品久久久久久久久免费丝袜 | 欧美性色aⅴ视频一区日韩精品| 欧美激情自拍偷拍| 91麻豆.com| 日韩av不卡一区二区| 国产日韩精品一区| 91高清视频免费看| 久久精品国产精品青草| 中文字幕一区三区| 欧美精品一级二级| 成人av在线看| 日本欧美大码aⅴ在线播放| 国产欧美视频一区二区| 欧美另类高清zo欧美| 成人午夜精品一区二区三区| 婷婷激情综合网| 国产女人aaa级久久久级| 欧美日韩成人在线一区| 丁香五精品蜜臀久久久久99网站 | 精品国产制服丝袜高跟| 91老师片黄在线观看| 久久精品国产一区二区三区免费看| 中文字幕一区二区三区在线播放| 欧美精品丝袜久久久中文字幕| 国产成人99久久亚洲综合精品| 亚洲国产成人porn| 国产精品免费观看视频| 91精品国产入口| 色乱码一区二区三区88| 国产99久久久国产精品免费看| 首页综合国产亚洲丝袜| 亚洲色图另类专区| 精品国产伦一区二区三区观看方式| 色狠狠色噜噜噜综合网| 国产成人精品网址| 欧美aaaaaa午夜精品| 亚洲一区视频在线| 亚洲天堂福利av| 国产三级精品三级| 日韩欧美国产系列| 91精品国产色综合久久不卡蜜臀| 91小视频免费看| 成人三级伦理片| 国产一区不卡视频| 蜜臀av一区二区在线免费观看| 一区二区三区欧美激情| 中文字幕不卡在线播放| 精品va天堂亚洲国产| 欧美一区二区免费视频| 在线观看精品一区| 色综合久久中文综合久久97| 国产风韵犹存在线视精品| 精品一区免费av| 日韩高清不卡一区二区三区| 一区二区三区久久| 中文字幕一区二区三区视频| 中文字幕精品—区二区四季| 欧美精品一区二区三区很污很色的| 91精品国产福利| 欧美二区乱c少妇| 欧美精品日日鲁夜夜添| 欧美丰满少妇xxxbbb| 欧美精品vⅰdeose4hd| 欧美日本一区二区在线观看|