PHP RES加密如何避免密文过长和乱码

在最近的项目当中,是把原来的功能封装一层弄成接口给第三方调用,其中就接触到了弄签名加密这一块,用的是RES加密,思路是用公钥和POST参数拼接成字符串再进行公钥加密,但是因RES加密对密文是有要求的,有长度限制的。POST数据过长会导致密文数据过长,从而解密失败,因此我们解决这个问题的思路是对密文进行MD5加密,然后把加密后的数据进行RES加密,但是RES加密过的数据也有可能因为编码问题导致乱码,因此我们还需要进行base64加密来避免乱码。

简单的代码展示如下:

/*
*$rsa_pub为RES公钥
*
*/
$secret = md5($querystr . $api_secret); //组成密文
openssl_public_encrypt($secret ,$test, $rsa_pub); //公钥加密  
$bs_test = base64_encode($test);  //进行base64加密
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值