DES


DES(Data Encryption Standard)是使用对称密钥(symmetric-key)的方法。对敏感信息密码化DES并不适合。执行3次DES密码化/解密过程的triple DES提供改善后的密码化强度。 DES密码化方式有ECB与CBC两个方式。 下面是ECB方式的密码化/解密化函数。

这是初始化DES引擎的函数。返还要在密码化/解密化使用的context。

参数 说明
ecb/ede3_ecb ecb - DES ECB
ede3_ecb - 3DES ECB
enc/dec enc - 加密
dec - 解密
$ecb_key ECB加密或解密时使用的64字节密钥


根据之前实行的初始化函数的设定执行密码化/解密化。返还被加密或是解密的数据。

参数 说明
$des 初始化时接收的返还context
$text 要加密/解密的明文或是密文

下面是ECB方式的DES密码化/解密化示例。

// encryption
$des = system("des init ecb enc %1", $ecb_key);  // initialize
$out = system("des crypt %1 %2", $des, $ecb_pt); // encryption

// decryption
$des = system("des init ecb dec %1", $ecb_key);  // initialize
$out = system("des crypt %1 %2", $des, $ecb_ct); // decryption

下面是ECB方式的Triple DES密码化/解密化示例。

// encryption
$des = system("des init ede3_ecb enc %1", $ecb_key);
$out = system("des crypt %1 %2", $des, $ecb_pt);

// decryption
$des = system("des init ede3_ecb dec %1", $ecb_key);
$out = system("des crypt %1 %2", $des, $ecb_ct);


下面是CBC方式的密码化/解密化函数。

下面是初始化DES引擎的函数。返还密码化/解密化中使用的context。

参数 说明
cbc/ede3_cbc cbc - DES CBC
ede3_cbc - 3DES CBC
enc/dec enc - 加密
dec - 解密
$cbc_key 用在CBC加密/解密的64字节 密钥
$iv 64字节初始化向量(initialization vector)


根据之前实行的初始化函数执行密码化/解密化。返还被加密或是解密的数据。

参数 说明
$des 初始化时接收的返还context
$text 要加密/解密的明文或是密文

下面是CBC方式的DES加密化/解密化示例。

// encryption
$des = system("des init cbc enc %1 %2", $cbc_key, $cbc_iv);  // initialize
$out = system("des crypt %1 %2", $des, $cbc_pt);             // encryption

// decryption
$des = system("des init cbc dec %1 %2", $cbc_key, $cbc_iv);  // initialize
$out = system("des crypt %1 %2", $des, $cbc_ct);             // decryption