前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >php使用openssl进行Rsa长数据加密(117)解密(128)

php使用openssl进行Rsa长数据加密(117)解密(128)

作者头像
用户4973967
发布2019-12-16 15:32:56
1.6K0
发布2019-12-16 15:32:56
举报
文章被收录于专栏:胡六娃的博客胡六娃的博客

最近在使用rsa加密,字符串过长是总是自动截取,百度了发现是rsa对加密字符有长度的限制

写篇文章,省的以后再用时来回找

PHP使用openssl进行Rsa加密,如果要加密的明文太长则会出错,解决方法:加密的时候117个字符加密一次,然后把所有的密文拼接成一个密文;解密的时候需要128个字符解密一下,然后拼接成数据

加密

代码语言:javascript
复制
    /**
     * 加密
     * @param $originalData
     * @return string|void
     */
    /*function encrypt($originalData){

        // if (openssl_private_encrypt($originalData, $encryptData, $this->rsaPrivateKey)) {
        if (openssl_public_encrypt($originalData, $encryptData, $this->rsaPublicKey)) {
            return base64_encode($encryptData);
        } else {
            return false;
        }
    }*/
    function encrypt($originalData){

        $crypto = '';

        foreach (str_split($originalData, 117) as $chunk) {

            openssl_public_encrypt($chunk, $encryptData, $this->rsaPublicKey);

            $crypto .= $encryptData;
        }

        return base64_encode($crypto);
    }

解密

代码语言:javascript
复制
   /**
     * 私钥解密
     * @param $encryptData
     */

    /*function decrypt($encryptData){

        // if (openssl_public_decrypt(base64_decode($encryptData), $decryptData, $this->rsaPublicKey)) {
        if (openssl_private_decrypt(base64_decode($encryptData), $decryptData, $this->rsaPrivateKey)) {

            return $decryptData;

        } else {

            return false;
        }
    }*/
    function decrypt($encryptData){

        $crypto = '';

        foreach (str_split(base64_decode($encryptData), 128) as $chunk) {

            openssl_private_decrypt($chunk, $decryptData, $this->rsaPrivateKey);

            $crypto .= $decryptData;
        }

        return $crypto;
    }
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-04-12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档