PHP怎么用模数和指数得到公钥进行RSA加密
已知16进制模数:C34E069415AC02FC4EA5F45779B7568506713E9210789D527BB89EE462662A1D0E94285E1A764F111D553ADD7C65673161E69298A8BE2212DF8016787E2F4859CD599516880D79EE5130FC5F8B7F69476938557CD3B8A79A612F1DDACCADAA5B6953ECC4716091E7C5E9F045B28004D33548EC89ED5C6B2C64D6C3697C5B9DD3
和指数:10001
请问用php怎么用16进制的模数和已知指数才能得到公钥进行RSA加密???
【问题详细描述:
是这样,由于业务需求,需要用php Curl进行站点模拟登录,而别人的站点,是对pwd密码进行了rsa加密传到后台的,如果我要curl模拟登录的话,必须也要把密码进行rsa加密模拟post提交上去。其中该站点登录页面的pwd加密是在前端js RSA加密的,其中看到有2个隐藏域,一个是16进制的字符串(可看出是模数),然后还有一个是类似于10001数字字符串(可看出是指数),他的js RSA加密算法如下:
<body>
<!--RSA加密-->
<script src="../../javascript/RSA/Barrett.js?versions=19" type="text/javascript"></script>
<script src="../../javascript/RSA/RSA.js?versions=19" type="text/javascript"></script>
<script src="../../javascript/RSA/BigInt.js?versions=19" type="text/javascript"></script>
<!---->
<div>
<input type="hidden" name="Modulus" id="ModulusID" value="B1AEB985675327181ACBE9B4E74F3424F157AC81B88CE92988408C16EAB77190EA4EB740F255A2206049457B54158BA775B61CE0A97568E55B606138AA5FE5B8A123CD27E6E1BCA469051420817807EE69F73D6B87D474EFC5AA40CB9715FE7BD1E22DE542D90F7E021F39B5F377E021AB84B0068B9614250484A20A3900E8FB">
<input type="hidden" name="Exponent" id="ExponentID" value="10001">
<input name="pwd" type="password" id="pwd" placeholder="请输入密码" maxlength="19">
</div>
<script>
$(function () {
var uPwd = $("#pwd").val().trim(); //密码
//rsa加密
setMaxDigits(129);
var key = new RSAKeyPair($("#ExponentID").val(), "", $("#ModulusID").val());
var uPwd2 = encryptedString(key, $.trim(uPwd));//加密后密码传到后台登录
//rsa加密 end
var parameter = { uName: $("#uname").val(), uPwd: udPwd2};
$.ajax({
type: "POST",
url: "login.do",
dataType: 'json',
data: parameter,
cache: false,
error: function () {
alert("系统异常,请联系客服咨询!");
},
success: function (msg) {
if (msg == "" || msg == null) {
alert("系统异常,请联系客服咨询!" + msg);
return;
}
if (msg.status == 0) {
alert("登录成功!");
window.location.reload();
return;
}else {
alert('登录失败'.msg);
return;
}
}
});
});
</script>
</body>
如上几段代码是前端给登录密码加密主要片段。其中js RSA加密是用的:ohdave.com/rsa/ 这网站的,因为现在要php curl模拟登录别的站,我的思路是先通过curl获取两个ModulusID和ExponentID这2个异常域的值,然后通过php跟如上js rsa加密一样给密码加密,然后post登录。现在问题是,我在php后端怎么才能像如上片段js RSA加密一样给密码RSA加密。求救
】
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我最近也写过一个类似模拟登录的,由于你的html里面已经有Modulus和Exponent了,你可以直接利用rsa库对密码进行加密。我用的是nodejs自己封装的,PHP的应该也有。
使用方式也:
有人吗?帮帮忙,求救。help me、help me、help me、help me、help me、help me、help me、help me、help me、help me、help me、help me、help me、help me、help me、help me、help me、help me、help me、help me、help me、help me、