BD Rsa算法加密密码解析

近日BD登录改版,密码通过JS用Rsa算法加密提交,由于需要模拟登录BD,所以不得不去仔细研究Rsa算法。 经过研究发现,BD的Rsa相当的Low. 不多说,直接上PHP实现的模拟百度JS实现的Rsa加密。

$pubkey = file_get_contents("public.pem"); 
//echo $pubkey . "<br>";
$pwd = $_POST['pwd']; //密码明文
//echo $pwd . "<br>";
$pubkeyObj = openssl_get_publickey($pubkey); //openssl 读取并解析公钥
//var_dump($pubkeyObj);
openssl_public_encrypt($pwd, $encrypt_pwd, $pubkeyObj, OPENSSL_PKCS1_PADDING); //加密
//var_dump($encrypt_pwd);
$encrypt_pwd = base64_encode(''.$encrypt_pwd);
echo $encrypt_pwd; //加密后的密码

其中public.pem是公钥文件,内容如下:

-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCnn8lJNWp9At07NnRhKruMz+Xk
khVIlS0LhrSu3JiKdxGRbG//hP3Vcgj8Yu+qlTyofK+1PiUvDATgbV6a8IiO1zhJ
/9dL/xLpH81q4drll2NauXGD7UztRV4MQE1Mi2E57STyK4AevxV5iCAPwuHNZ3os
mJ7Dr6WcsovXSvdspwIDAQAB
-----END PUBLIC KEY-----

希望对做BD登录的朋友有帮助。

    原文作者:加密算法
    原文地址: https://segmentfault.com/a/1190000000498114
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞