列表4.4.txt

来自「klinux书籍的配套光盘。可以学习学习。」· 文本 代码 · 共 37 行

TXT
37
字号
【列表4.4】Blowfish.pas和针对第三方的Blowfish库的完整接口单元。
unit Blowfish;
interface
Const
          BF_ENCRYPT = 1;
          BF_DECRYPT = 0;
          BF_ROUNDS = 16;
          BF_BLOCK = 8;
          BFmodule = 'libbf.so.1';
Type
         BF_LONG = LongWord;
         BF_KEY = Record
                     P: Array[1 .. BF_ROUNDS + 2] of BF_LONG;
                     S: Array[1 .. 1024] of BF_LONG;
          end;
          PBF_KEY = ^BF_KEY;
Procedure BF_set_key( key: PBF_KEY; len: LongInt; data: Pointer ); cdecl;
Procedure BF_ecb_encrypt( input: Pointer; out: Pointer;
                                       key: PBF KEY; enc: LongInt); cdecl;
Procedure BF_cbc_encrypt( input: Pointer; out: Pointer; length: LongInt;
                                       ks: PBF_KEY; iv: Pointer; enc: LongInt ); cdecl;
Procedure BF_cfb64_encrypt( input: Pointer; out: Pointer; length: LongInt;
                                          schedule: PBF KEY; ivec: Pointer;
                                          num: PlongInt; enc: LongInt ); cdecl;
Procedure BF_ofb64_encrypt( input: Pointer; out: Pointer; length: LongInt;
                                          schedule: PBF KEY; ivec: Pointer;
                                          num: PlongInt ); cdecl;
Function BF_options: PChar; cdecl;
implementation
procedure BF_set_key;        external BFmodule name 'BF_set_key';
procedure BF_ecb_encrypt;    external BFmodule name 'BF_ecb_encrypt';
procedure BF_cbc_encrypt;    external BFmodule name 'BF_cbc_encrypt';
procedure BF_cfb64_encrypt;  external BFmodule name 'BF_cfb64_encrypt';
procedure BF_ofb64_encrypt;  external BFmodule name 'BF_ofb64_encrypt';
function  BF_options;        external BFmodule name 'BF_options';
end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?