RSA - 使用PHP加密巫婆java / android和解密 [英] RSA - encryption witch java/android and decryption with PHP

查看:105
本文介绍了RSA - 使用PHP加密巫婆java / android和解密的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有移动应用程序,用RSA加密字符串并将加密数据发送到PHP Web服务器。



搜索后我发现 phpseclib 用于解密RSA

最新版本2.0。



无论我做什么,尽管使用了模式但仍然出现错误



我做错了什么?



我尝试了什么:



用于解密的私钥:

 ----- BEGIN RSA私钥----- 
MIIBOgIBAAJBAJyHUgC1ijhsETeuoNMh4c4yrFoL4juL / yDderMC9fBd1TFgEoJ5dxzMzdlzVVj7Vc / H / I + k13yY3W0MknS // k8CAwEAAQJAaaL1l57s8lkUYZTL2tFh9 + vA32BnxLIdc0ullAwqeJV21wXcEyDA67fbmBywdt + pVKkeO2NU7fD3e + DZREuJ0QIhAPZNo9jirkRl4i / Lv3jWt6SmeUBeyIKK0u4lZiBF9KAZAiEAorDjj2c9WBdP46S9hK7yj0U5 / 0QHB0pO01j9QSVBvqcCIQDrYre7hqdU5qmLVATgzxMiX5ZxViP53gJHZaZ8IV7vwQIgTTYEGafWjjsqGBC0PQdGaMZi + wnPCB + 0 / + 0rpjoRfClsCIBPzZw lappnVxXHuUoQQeN6uevqSvmgvC42UyA4HABa
----- END RSA私钥-----





加密消息(base64编码):

 SMZiVTAMizngWa5Yg2Xp0F3Coy4cIsLB6mru2rLhxnvS2SC\ / rm9pgPVLdA\ / hp + 1TIbzHZqjc2lnP\\\
kvzh797WlA == \ n





PHP示例代码:

 $ rsa = new RSA(); 
$ rsa-> setEncryptionMode(RSA :: ENCRYPTION_PKCS1);
$ rsa-> loadKey($ privateKey);
echo $ rsa-> decrypt($ strBase64);



结果:

注意:解密第2553行的C:\ xampp \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ b模式:

 $ rsa-> setEncryptionMode(RSA :: ENCRYPTION_OAEP); 



结果:

注意:第2432行C:\ xampp \htdocs \prim41ws \vendor \ phpseclib \ phpseclib \ phpseclib \Crypt \ RSA.php中的解密错误



模式:

 $ rsa-> setEncryptionMode(RSA :: ENCRYPTION_NONE); 



结果:

 string(128)我?W  B'q    ;k ?} 1?   ?  = ?x  ?*  ?_  aq ) D?'?m {? ?  n ? C:  t E?  ?R = S?y 3$QC EV.3C { .Y jx 6?? ???e ˱] I ?  S / 'I |

解决方案

rsa = new RSA();


rsa-> setEncryptionMode(RSA :: ENCRYPTION_PKCS1);

rsa-> LOADKEY(

I have mobile application that encrypts strings with RSA and sends that encrypted data to PHP web server.

After a search I found that phpseclib is used to decrypt RSA
Latest version 2.0.

No matter what I do I receive despite error despite used mode

Am i doing something wrong?

What I have tried:

Private key for decryption:

-----BEGIN RSA PRIVATE KEY-----
MIIBOgIBAAJBAJyHUgC1ijhsETeuoNMh4c4yrFoL4juL/yDderMC9fBd1TFgEoJ5dxzMzdlzVVj7Vc/H/I+k13yY3W0MknS//k8CAwEAAQJAaaL1l57s8lkUYZTL2tFh9+vA32BnxLIdc0ullAwqeJV21wXcEyDA67fbmBywdt+pVKkeO2NU7fD3e+DZREuJ0QIhAPZNo9jirkRl4i/Lv3jWt6SmeUBeyIKK0u4lZiBF9KAZAiEAorDjj2c9WBdP46S9hK7yj0U5/0QHB0pO01j9QSVBvqcCIQDrYre7hqdU5qmLVATgzxMiX5ZxViP53gJHZaZ8IV7vwQIgTTYEGafWjjsqGBC0PQdGaMZi+wnPCB+0/0rpjoRfClsCIBPzZw+lappnVxXHuUoQQeN6uevqSvmgvC42UyA4HABa
-----END RSA PRIVATE KEY-----



Encrypted message (base64 encoded):

SMZiVTAMizngWa5Yg2Xp0F3Coy4cIsLB6mru2rLhxnvS2SC\/rm9pgPVLdA\/hp+1TIbzHZqjc2lnP\nkvzh797WlA==\n



PHP sample code:

$rsa = new RSA();
$rsa->setEncryptionMode(RSA::ENCRYPTION_PKCS1);
$rsa->loadKey($privateKey); 
echo $rsa->decrypt($strBase64);


Result:

Notice: Decryption error in C:\xampp\htdocs\prim41ws\vendor\phpseclib\phpseclib\phpseclib\Crypt\RSA.php on line 2553


Mode:

$rsa->setEncryptionMode(RSA::ENCRYPTION_OAEP);


Result:

Notice: Decryption error in C:\xampp\htdocs\prim41ws\vendor\phpseclib\phpseclib\phpseclib\Crypt\RSA.php on line 2432


Mode:

$rsa->setEncryptionMode(RSA::ENCRYPTION_NONE);


Result:

string(128) "IW��B'q����;k�}�1����=�x��*��_��aq�)�D 'm{� ��n��C:��t	�E��R=�Sy�3$QC�EV.3C�{�.Y�jx�6!e�˱]�I ���S�/�'I�|"

解决方案

rsa = new RSA();


rsa->setEncryptionMode(RSA::ENCRYPTION_PKCS1);


rsa->loadKey(


这篇关于RSA - 使用PHP加密巫婆java / android和解密的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆