开发者社区> 问答> 正文

php中RSA加密,明文超长,需要分段加密该怎么做?

51干警网 2016-02-15 09:45:39 2825

在php接口中,需要用到RSA加密,加密的明文是一段标准的xml
xml示例:
`
<?xml version="1.0" encoding="UTF-8" ?>

1.0.0
pay_trade_service
payTrade
2012112916JY15592132
2009061117PT25762148
20090611000000

`
msg=UrlEncode(base64(xml);
使用算法对msg的签名,例如:sign=rsa_sign(private_key,msg);
但是msg的长度超过了RSA加密的明文长度,现在需要对其进行分段加密,应该怎么做?请各位指教。

XML 算法 PHP 数据安全/隐私保护 数据格式
分享到
取消 提交回答
全部回答(1)
  • 51干警网
    2019-07-17 18:28:39
    已采纳

    一般来说,加密分为两个部分,一个是非对称加密,一个是对称加密,使用对称加密加密正文信息,使用非对称加密加密对称加密的密钥,然后发送加密数据(消息摘要和数字签名就不讨论了),这是正规的数据加密策略,对称加密默认支持大数据分段加密策略,你只需要从接口中完成加密即可,而且对称加密速度比非对称加密快很多,如果你需要使用这个策略建议使用AES。
    如果你不愿意使用对称加密,只愿意使用AES加密,那你就必须丧失速度了,而且自己处理分段加密,因为RSA加密通常是117个字节就要分段(这个长度可能和密钥长度有关,我是用的接口是117),你需要自己把数据变成N个117字节的数据段来完成加密,解密也需要自己完成字节拼装。

    0 0

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题