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