PHP使用openssl进行Rsa加密,如果要加密的明文太长则会出错。
解决方案,将加密的字符串分割成3的倍数,最高不要超过120的长度。分割成多份然后再进行拼接即可:
$str = ""; //要加密的字符串
$strEncrypt = ""; // 加密后的字符串
foreach(str_split($str,117) as $chunk){
$strEncrypt .= $chunk . '&';
}
//去掉尾部'&',并防止¬转义
$str =stripslashes(substr($str,0,strlen($str)-1));