无为清净楼资源网 Design By www.qnjia.com
大家可以先到http://web.chacuo.net/netrsakeypair这个网站,在线生成公钥和私钥
RSA非对称加密算法,如果是公钥加密,就得用私钥解密,反过来也一样,私钥加密的就用公钥解密,以下是相关实现函数
/** * RSA私钥加密 * @param string $private_key 私钥 * @param string $data 要加密的字符串 * @return string $encrypted 返回加密后的字符串 * @author mosishu */ function privateEncrypt($private_key,$data){ $encrypted = ''; $pi_key = openssl_pkey_get_private($private_key);//这个函数可用来判断私钥是否是可用的,可用返回资源id Resource id //最大允许加密长度为117,得分段加密 $plainData = str_split($data, 100);//生成密钥位数 1024 bit key foreach($plainData as $chunk){ $partialEncrypted = ''; $encryptionOk = openssl_private_encrypt($chunk,$partialEncrypted,$pi_key);//私钥加密 if($encryptionOk === false){ return false; } $encrypted .= $partialEncrypted; } $encrypted = base64_encode($encrypted);//加密后的内容通常含有特殊字符,需要编码转换下,在网络间通过url传输时要注意base64编码是否是url安全的 return $encrypted; }
/** * RSA公钥解密(私钥加密的内容通过公钥可以解密出来) * @param string $public_key 公钥 * @param string $data 私钥加密后的字符串 * @return string $decrypted 返回解密后的字符串 * @author mosishu */ function publicDecrypt($public_key,$data){ $decrypted = ''; $pu_key = openssl_pkey_get_public($public_key);//这个函数可用来判断公钥是否是可用的 $plainData = str_split(base64_decode($data), 128);//生成密钥位数 1024 bit key foreach($plainData as $chunk){ $str = ''; $decryptionOk = openssl_public_decrypt($chunk,$str,$pu_key);//公钥解密 if($decryptionOk === false){ return false; } $decrypted .= $str; } return $decrypted; }
//RSA公钥加密 function publicEncrypt($public_key,$data){ $encrypted = ''; $pu_key = openssl_pkey_get_public($public_key); $plainData = str_split($data, 100); foreach($plainData as $chunk){ $partialEncrypted = ''; $encryptionOk = openssl_public_encrypt($chunk,$partialEncrypted,$pu_key);//公钥加密 if($encryptionOk === false){ return false; } $encrypted .= $partialEncrypted; } $encrypted = base64_encode($encrypted); return $encrypted; }
//RSA私钥解密 function privateDecrypt($private_key,$data){ $decrypted = ''; $pi_key = openssl_pkey_get_private($private_key); $plainData = str_split(base64_decode($data), 128); foreach($plainData as $chunk){ $str = ''; $decryptionOk = openssl_private_decrypt($chunk,$str,$pi_key);//私钥解密 if($decryptionOk === false){ return false; } $decrypted .= $str; } return $decrypted; }
以上这篇PHP实现RSA加解密算法示例(生成密钥位数为1024位的方法)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
标签:
php实现rsa加解密算法
无为清净楼资源网 Design By www.qnjia.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
无为清净楼资源网 Design By www.qnjia.com
暂无评论...
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
2024年11月17日
2024年11月17日
- 【雨果唱片】中国管弦乐《鹿回头》WAV
- APM亚流新世代《一起冒险》[FLAC/分轨][106.77MB]
- 崔健《飞狗》律冻文化[WAV+CUE][1.1G]
- 罗志祥《舞状元 (Explicit)》[320K/MP3][66.77MB]
- 尤雅.1997-幽雅精粹2CD【南方】【WAV+CUE】
- 张惠妹.2007-STAR(引进版)【EMI百代】【WAV+CUE】
- 群星.2008-LOVE情歌集VOL.8【正东】【WAV+CUE】
- 罗志祥《舞状元 (Explicit)》[FLAC/分轨][360.76MB]
- Tank《我不伟大,至少我能改变我。》[320K/MP3][160.41MB]
- Tank《我不伟大,至少我能改变我。》[FLAC/分轨][236.89MB]
- CD圣经推荐-夏韶声《谙2》SACD-ISO
- 钟镇涛-《百分百钟镇涛》首批限量版SACD-ISO
- 群星《继续微笑致敬许冠杰》[低速原抓WAV+CUE]
- 潘秀琼.2003-国语难忘金曲珍藏集【皇星全音】【WAV+CUE】
- 林东松.1997-2039玫瑰事件【宝丽金】【WAV+CUE】