PHP aes 和 rsa 加密代码分享

class MagicCrypt {

private $iv = "这里写秘钥偏移量"; //密钥偏移量IV,可自定义
private $encryptKey = "服务端给的aes的key"; //AESkey,可自定义
public function encrypt( $encryptStr) {
$localIV = $this-> iv;
$encryptKey = $this-> encryptKey;
$module = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_CBC, $localIV);
mcrypt_generic_init( $module, $encryptKey, $localIV);
$block = mcrypt_get_block_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC);
$pad = $block - ( strlen( $encryptStr) % $block); //Compute how many characters need to pad
$encryptStr .= str_repeat( chr( $pad), $pad); // After pad, the str length must be equal to block or its integer multiples
$encrypted = mcrypt_generic( $module, $encryptStr);
mcrypt_generic_deinit( $module);
mcrypt_module_close( $module);
return base64_encode( $encrypted);
}

public function decrypt( $encryptStr) {
$localIV = $this-> iv;
$encryptKey = $this-> encryptKey;
$module = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_CBC, $localIV);
mcrypt_generic_init( $module, $encryptKey, $localIV);
$encryptedData = base64_decode( $encryptStr);
$encryptedData = mdecrypt_generic( $module, $encryptedData);
return $encryptedData;
}
}

RSA加秒解密的代码

function encrypt( $originalData, $pu_key, $padding){
$crypto = '';
foreach ( str_split( $originalData, 117) as $chunk) {
openssl_public_encrypt( $chunk, $encryptData, $pu_key, $padding);
$crypto .= $encryptData;
}
return base64_encode( $crypto);
}

function decrypt( $encryptData, $pi_key, $padding){
$crypto = '';
foreach ( str_split( base64_decode( $encryptData), 128) as $chunk) {
openssl_private_decrypt( $chunk, $decryptData, $pi_key, $padding);
$crypto .= $decryptData;
}
return $crypto;
}








  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值