php blowfish 解密,PHP blowfish 加密解密函数

这段代码展示了如何使用Blowfish算法和CBC模式配合PKCS5填充进行加密和解密。通过mcrypt库初始化加密器,进行加密和解密过程,并使用了base64编码进行数据传输。同时,定义了PKCS5补码和去补码的辅助函数。
摘要由CSDN通过智能技术生成

跳至

[1]

[全屏预览]

pkcs5_pad($str, $size);

if (mcrypt_generic_init($cipher, $this->key, $this->iv) != -1)

{

$cipherText = mcrypt_generic($cipher, $str);

mcrypt_generic_deinit($cipher);

return base64_encode($cipherText);

}

mcrypt_module_close($cipher);

}

/**

* blowfish + cbc模式 + pkcs5 解密 去补码

* @param string $str 加密的数据

* @return string 解密的数据

*/

public function blowfish_cbc_pkcs5_decrypt($str)

{

$cipher = mcrypt_module_open(MCRYPT_BLOWFISH, '', MCRYPT_MODE_CBC, '');

if (mcrypt_generic_init($cipher, $this->key, $this->iv) != -1)

{

$cipherText = mdecrypt_generic($cipher, base64_decode($str));

mcrypt_generic_deinit($cipher);

return $this->pkcs5_unpad($cipherText);

}

mcrypt_module_close($cipher);

}

private function pkcs5_pad($text, $blocksize){

$pad = $blocksize - (strlen ( $text ) % $blocksize);

return $text . str_repeat ( chr ( $pad ), $pad );

}

private function pkcs5_unpad($str){

$pad = ord($str[($len = strlen($str)) - 1]);

return substr($str, 0, strlen($str) - $pad);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值