问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

android rsa加解密私钥和公钥怎么用

发布网友 发布时间:2022-04-22 09:37

我来回答

1个回答

热心网友 时间:2023-10-30 07:04

php服务端与客户端交互、提供开放api时,通常需要对敏感的部分api数据传输进行数据加密,这时候rsa非对称加密就能派上用处了,下面通过一个例子来说明如何用php来实现数据的加密解密 1、加密解密的第一步是生成公钥、私钥对,私钥加密的内容能通过公钥解密(反过来亦可以) 下载开源RSA密钥生成工具openssl(通常Linux系统都自带该程序),解压缩至独立的文件夹,进入其中的bin目录,执行以下命令: openssl genrsa -out rsa_private_key.pem 1024 openssl pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt -out private_key.pem openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem 第一条命令生成原始 RSA私钥文件 rsa_private_key.pem,第二条命令将原始 RSA私钥转换为 pkcs8格式,第三条生成RSA公钥 rsa_public_key.pem 从上面看出通过私钥能生成对应的公钥,因此我们将私钥private_key.pem用在服务器端,公钥发放给android跟ios等前端 2、php中用生成的公钥、私钥进行加密解密,直接上代码 <?php $private_key = '-----BEGIN RSA PRIVATE KEY----- MIICXQIBAAKBgQC3//sR2tXw0wrC2DySx8vNGlqt3Y7ldU9+LBLI6e1KS5lfc5jl TGF7KBTSkCHBM3ouEHWqp1ZJ85iJe59aF5gIB2klBd6h4wrbbHA2XE1sq21ykja/ Gqx7/IRia3zQfxGv/qEkyGOx+XALVoOlZqDwh76o2n1vP1D+tD3amHsK7QIDAQAB AoGBAKH14bMitESqD4PYwODWmy7rrrvyFPEnJJTECLjvKB7IkrVxVDkp1XiJnGKH 2h5syHQ5qslPSGYJ1M/XkDnGINwaLVHVD3BoKKgKg1bZn7ao5pXT+herqxaVwWs6 ga63yVSIC8jcODxiuvxJnUMQRLaqoF6aUb/2VWc2T5MDmxLhAkEA3pwGpvXgLiWL 3h7QLYZLrLrbFRuRN4CYl4UYaAKokkAvZly04Glle8ycgOc2DzL4eiL4l/+x/gaq deJU/cHLRQJBANOZY0mEoVkwhU4bScSdnfM6usQowYBEwHYYh/OTv1a3SqcCE1f+ qbAclCqeNiHajCcDmgYJ53LfIgyv0wCS54kCQAXaPkaHclRkQlAdqUV5IWYyJ25f oiq+Y8SgCCs73qixrU1YpJy9yKA/meG9smsl4Oh9IOIGI+zUygh9YdSmEq0CQQC2 4G3IP2G3lNDRdZIm5NZ7PfnmyRabxk/UgVUWdk47IwTZHFkdhxKfC8QepUhBsAHL QjifGXY4eJKUBm3FpDGJAkAFwUxYssiJjvrHwnHFbg0rFkvvY63OSmnRxiL4X6EY yI9lblCsyfpl25l7l5zmJrAHn45zAiOoBrWqpM5e7c -----END RSA PRIVATE KEY-----'; $public_key = '-----BEGIN PUBLIC KEY----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC3//sR2tXw0wrC2DySx8vNGlqt 3Y7ldU9+LBLI6e1KS5lfc5jlTGF7KBTSkCHBM3ouEHWqp1ZJ85iJe59aF5gIB2kl Bd6h4wrbbHA2XE1sq21ykja/Gqx7/IRia3zQfxGv/qEkyGOx+XALVoOlZqDwh76o 2n1vP1D+tD3amHsK7QIDAQAB -----END PUBLIC KEY-----'; //echo $private_key; $pi_key = openssl_pkey_get_private($private_key);//这个函数可用来判断私钥是否是可用的,可用返回资源id Resource id $pu_key = openssl_pkey_get_public($public_key);//这个函数可用来判断公钥是否是可用的 print_r($pi_key);echo "\n"; print_r($pu_key);echo "\n"; $data = "aassssasssddd";//原始数据 $encrypted = ""; $decrypted = ""; echo "source data:",$data,"\n"; echo "private key encrypt:\n"; openssl_private_encrypt($data,$encrypted,$pi_key);//私钥加密 $encrypted = base64_encode($encrypted);//加密后的内容通常含有特殊字符,需要编码转换下,在网络间通过url传输时要注意base64编码是否是url安全的 echo $encrypted,"\n"; echo "public key decrypt:\n"; openssl_public_decrypt(base64_decode($encrypted),$decrypted,$pu_key);//私钥加密的内容通过公钥可用解密出来 echo $decrypted,"\n"; echo "---------------------------------------\n"; echo "public key encrypt:\n"; openssl_public_encrypt($data,$encrypted,$pu_key);//公钥加密 $encrypted = base64_encode($encrypted); echo $encrypted,"\n"; echo "private key decrypt:\n"; openssl_private_decrypt(base64_decode($encrypted),$decrypted,$pi_key);//私钥解密 echo $decrypted,"\n";
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
描写夏天的经典诗词(75首惊蛰诗词) 南瓜虾汤的做法 南瓜虾仁煲做法 南瓜虾煲是什么 有一个长方体体积是24立方厘米,底面是2厘米的正方形,侧面积是多少... 24 平米是多少平方 ...个连续自然数,体积是24立方厘米。它的表面积是多少平方 欧盟27国都有哪些 xlog是什么格式文件? 什么叫可数名词与不可数名词 高分求java的RSA 和IDEA 加密解密算法 非常完整的rsa加密解密软件 有多完整 ios开发rsa加密怎么生成秘钥 rsa的加密算法可以使用什么软件实现密码加密 求RSA加密软件! 中远国际期货新手开户需要什么资料吗 做期货的朋友们,知道这几个公司是正规的吗。 可靠吗 期货平台是正规的吗? 中国在哪些产品上还有比较优势? 怎么设置苹果手机的id 现在的期货交易平台哪个是正规的?怎么判断? 国内的期货公司正规吗? 苹果手机怎么改id? 国内比较大比较好的期货公司有哪些 期货外盘是什么怎么玩的中远国际期货是真的吗 中远国际期货外汇真的有投资者盈利了吗 中远国际期货恒指真的能赚钱吗 中远国际期货做外盘期货受监管吗 怎么判断 中远国际期货公司如何中远国际期货客服怎么联系 黑龙江中远农产品交易中心做的燃料油期货正规吗 如何实现用javascript实现rsa加解密 如何在IOS中使用RSA加密,能够与.NET的服务器互通 如何在浏览器端实现RSA公私钥对生成,加解密 rsa加密rsa加密rsa加密? rsa加密法 详细解释 如何使用16进制编码的RSA公钥进行RSA加密 android 提交的rsa加密,服务端怎么解密 [求助}如何对excel进行RSA加密 银联支付接口使用rsa 数据加密。明文密钥都是16进制的字符串,加密结果和对方给的小工具加密的结果不一样 RSA加密解密问题 RSA加密算法,求大神帮解答 江苏成人高考有哪些优势,你知道吗? word文件的表格复制到&#127380;文件不显示是怎么回事 江苏成考录取分数线2021 word里面表格一页放不下,第二页不显示 江苏成人高考热门问题有哪些?成考小编告诉你! word里面粘贴表格怎么显示不出来 听说今后江苏成考越来越难? 江苏成人高考的入学考试难吗?要考多少分呀 梅艳芳是因为什么原因去世的?