RSA加解密、签名、验签,对接java可用

本文记录了与Java接口交互时使用RSA加解密和签名验证的方法,旨在方便日后查阅与实施。
摘要由CSDN通过智能技术生成

经常要跟java对接口用到RSA加解密及签名验签,现把方法记录下来方便用时查看:

class Rsa
{
     const MAX_ENCRYPT_BLOCK = 117;
     const MAX_DECRYPT_BLOCK = 128;
     
    /**
     * 私钥加密
     * @param $plainString
     * @param $privateKey
     * @return string
     */
    public static function priEncrypt($plainString, $privateKey)
    {
        $encryptedString = "";
        $strlen = strlen($plainString);
        if ($strlen < 118) {
            openssl_private_encrypt($plainString, $encryptedString, self::conertKey($privateKey,"pri"));//私钥加密
        } else {
            foreach (str_split($plainString, self::MAX_ENCRYPT_BLOCK) as $chunk) {
                openssl_private_encrypt($chunk, $chunkString, self::conertKey($privateKey,"pri"));
                $encryptedString .= $chunkString;
            }
        }
        return $encryptedString;
    }

    /**
     * 私钥解密
     * @param $encryptedString
     * @param $priva
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值