京东JD APP签名/加密算法研究

  1. 签名算法
    (1)http://pay.m.jd.com/index.action?functionId=genAppPayId&clientVersion=7.4.2&build=65312&client=android&d_brand=Xiaomi&d_model=MI5sPlus&osVersion=8.0.0&screen=1920*1080&partner=xiaomi001&androidId=[androidId]&installtionId=[X]&sdkVersion=26&lang=zh_CN&uuid=[uuid]&area=[area]&networkType=wifi&wifiBssid=unknown&st=[X]&sign=8d47fb69e8b1eb8414c7ba854782ee8c&sv=111
    URL中sign的算法(未知,欢迎技术交流77103116#qq.com(#换@))
    (2)/index.action?functionId=genAppPayId…POST中paysign算法(已知)

  2. 加密算法
    {“Zip”:"",“MessageStr”:"",“longitudeString”:“X”,“Email”:"",“CountryName”:"[X]",“sortTime”:“Feb 28, 2021 10:00:00 AM”,“addressUUID”:"[addressUUID]",“latitudeString”:“X”,“Latitude”:X,“County”:[X],“Name”:"[X]7g\u003d\u003d",“ProvinceName”:"[X]",“addressDetail”:"[X]PM",“Phone”:"",“IdTown”:[X],“IdArea”:[X],“IdProvince”:[X],“TypeId”:1,“isGangAoTai”:false,“MobileReal”:“u5+[X]”,“TownName”:"[X]",“updateTime”:"[X] AM",“City”:[X],“CityName”:"[X]",“Mobile”:"[X]",“Longitude”:[X],“Province”:[X],“areaCode”:"",“addressDefault”:true,“Pin”:"[X]",“isForeignOverSea”:false,“IdCity”:[X],“postCode”:"",“operationType”:3,“Id”:[X],“Where”:"[X]\u003d",“CoordType”:2}
    收货地址中addressDetail、Where、MobileReal算法(已知)

### 回答1: 京东登录请求参数包括: - loginname: 登录名, 可以是用户名或者手机号码. - nloginpwd: 登录密码. - chkRememberMe: 是否记住登录状态, 值为"on"表示记住, 否则为"off". - authcode: 验证码. 在登录时如果系统检测到异常登录行为, 会要求用户输入验证码. 这些参数需要放在请求的参数中(query string 或者 request body) 发送给服务器. 例如: ``` POST https://passport.jd.com/new/login.aspx loginname=myusername&nloginpwd=mypassword&chkRememberMe=on&authcode=1234 ``` 注意: 使用登录功能时应遵守京东的相关规定, 不得使用不正当手段进行攻击或者恶意操作. ### 回答2: 要模拟京东登录请求参数,首先需要了解京东登录接口的要求和参数格式。通过访问https://passport.jd.com/new/login.aspx可以得知登录接口为POST请求方式,需要的参数包括用户名、密码以及验证码等。 具体的请求参数可以通过查看页面源代码或者使用Fiddler等工具进行抓包分析。经过分析可得到以下参数: 1. 用户名:username,用于传递用户登录的手机号、邮箱或用户名。 2. 密码:password,用于传递用户的登录密码。 3. 验证码:authcode,用于传递用户登录时输入的验证码。注:验证码可能不是必要参数,可根据具体情况判断是否需要包含。 对于以上三个参数,需要根据具体用户输入进行相应的处理和加密算法生成。在模拟登录请求时,需要构建一个POST请求,传递相关参数到目标登录接口地址。 示例代码: ```python import requests # 构建登录请求参数 username = 'your_username' password = 'your_password' authcode = 'your_authcode' # 构建请求头 headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36' } # 构建请求体 data = { 'username': username, 'password': password, 'authcode': authcode } # 发送登录请求 response = requests.post('https://passport.jd.com/new/login.aspx', headers=headers, data=data) # 处理登录结果 if response.status_code == 200: # 登录成功 print("登录成功") else: # 登录失败 print("登录失败") ``` 以上代码仅为示例,实际使用时需要替换为真实的用户名、密码和验证码,并根据实际情况处理登录结果。另外,需要注意登录请求头的User-Agent部分,可以根据具体的浏览器版本和操作系统进行模拟。 ### 回答3: 京东登录请求参数可以通过分析登录页面源代码获得。通过访问地址https://passport.jd.com/new/login.aspx,并查看页面源代码,可以找到登录表单的相关参数。 登陆请求参数通常包括以下几个重要的字段: 1. 登录方式:使用"loginType"字段,取值为"1"代表账号密码登录,取值为"2"代表短信动态密码登录。 2. 用户名:使用"username"字段,传入用户的登录用户名。 3. 密码:使用"password"字段,传入用户的登录密码。 4. 手机动态密码:使用"sms_code"字段,在短信动态密码登录方式时需要传入。 5. 验证码:使用"verifycode"字段,在需要输入验证码时传入。 6. 记住登录状态:使用"remember"字段,取值为"true"则表示记住登录状态,取值为"false"则不记住。 注意:以上参数只是常见的一部分登录请求参数,具体参数可能还会根据京东登录页面的更新而有所变化。在实际模拟登录过程中,还需要注意表单的提交方式(通常为POST请求)以及数据的编码方式等。 另外,为了确保模拟登录的成功,还需要处理登录过程中可能遇到的各种异常情况,比如输入错误的用户名密码、验证码错误等。可以通过抓包工具查看实际登录请求和响应数据,根据返回结果进行相应的处理。 总的来说,模拟京东登录请求参数是一个比较复杂的过程,需要根据具体的页面设计和业务逻辑进行分析和调试,以确保成功模拟登录。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值