0 0

php中RSA加密,明文超長,需要分段加密該怎么做?0

在php接口中,需要用到RSA加密,加密的明文是一段標準的xml
xml示例:
<?xml version="1.0" encoding="UTF-8" ?>
<epay>
<version>1.0.0</version> 
<action>pay_trade_service</action>
<operation> payTrade</operation>
<orderId>2012112916JY15592132</orderId>
<platformId>2009061117PT25762148</platformId>
<platformPayTime>20090611000000</platformPayTime>
</epay>


msg=UrlEncode(base64(xml);
使用算法對msg的簽名,例如:sign=rsa_sign(private_key,msg);
但是msg的長度超過了RSA加密的明文長度,現在需要對其進行分段加密,應該怎么做?請各位指教。
2015年1月04日 14:38

1個答案 按時間排序 按投票排序

0 0

一般來說,加密分為兩個部分,一個是非對稱加密,一個是對稱加密,使用對稱加密加密正文信息,使用非對稱加密加密對稱加密的密鑰,然后發送加密數據(消息摘要和數字簽名就不討論了),這是正規的數據加密策略,對稱加密默認支持大數據分段加密策略,你只需要從接口中完成加密即可,而且對稱加密速度比非對稱加密快很多,如果你需要使用這個策略建議使用AES。
如果你不愿意使用對稱加密,只愿意使用AES加密,那你就必須喪失速度了,而且自己處理分段加密,因為RSA加密通常是117個字節就要分段(這個長度可能和密鑰長度有關,我是用的接口是117),你需要自己把數據變成N個117字節的數據段來完成加密,解密也需要自己完成字節拼裝。

2015年1月05日 14:01
Global site tag (gtag.js) - Google Analytics 开心农场种蔬菜赚钱 15选5开奖号码结果39期 东京快乐8计划 网上买福利彩票 浙江6加1开奖结果查询 福光股票行情 广西快乐双彩最牛网开奖号码 天地3d杀码图杀码 网上打牌赚钱是真的吗 黑龙江36选七开奖结果 华东联销15选5开奖 广西体彩十一选5玩法 重庆快乐10分开奖网 七位数中奖规则及奖金 山西体彩ll选5开奖结果 中国体育彩票奖金封顶多少 浙江20选5走势图(带坐标线