AES 是一種使用安全碼進(jìn)行信息加密的標(biāo)準(zhǔn)。
它支持 128 位、192 位和 256 位的密匙。
加密算法的實(shí)現(xiàn)在 ElAES.pas 單元中。
本人將其加密方法封裝在 AES.pas 單元中,
只需要調(diào)用兩個(gè)標(biāo)準(zhǔn)函數(shù)就可以完成字符串的加密和解密。
(* 密匙長度 *)
128 位支持長度為 16 個(gè)字符
192 位支持長度為 24 個(gè)字符
256 位支持長度為 32 個(gè)字符
所有加密和解密操作在默認(rèn)情況下為 128 位密匙。
(* 文件列表 *)
..\Source\ AES 單元文件
..\Example\ 演示程序
(* 適用平臺(tái) *)
這份 Delphi 的執(zhí)行基于 FIPS 草案標(biāo)準(zhǔn),
并且 AES 原作者已經(jīng)通過了以下平臺(tái)的測(cè)試:
Delphi 4
Delphi 5
C++ Builder 5
Kylix 1
本人又重新進(jìn)行了補(bǔ)充測(cè)試,并順利通過了以下平臺(tái):
Delphi 6
Delphi 7
特別說明:
在 Delphi 3 標(biāo)準(zhǔn)版中進(jìn)行測(cè)試時(shí),因?yàn)槿鄙?Longword 數(shù)據(jù)類型和
Math.pas 文件,并且不支持 overload 指示字,所以不能正常編譯。
(* 演示程序 *)
這個(gè)示例程序演示了如何使用 AES 模塊進(jìn)行字符串的加密和解密過程。
(* 使用方法 *)
在程序中引用 AES 單元。
調(diào)用函數(shù) EncryptString 和 DecryptString 進(jìn)行字符串的加密和解密。
調(diào)用函數(shù) EncryptStream 和 DecryptStream 進(jìn)行流的加密和解密。
調(diào)用過程 EncryptFile 和 DecryptFile 進(jìn)行文件的加密和解密。
詳細(xì)參閱 Example 文件夾中的例子。