Loading...

bilibili哔哩哔哩客户端模拟登录思路(未完成)

check评论:1 条 remove_red_eye浏览量:6992 change_historyTags:默认分类
作者 : admin date_range日期 : 2019 / May 27

key数据来自于KAAAsS博客
本文章旨在研究哔哩哔哩客户端的登录逻辑
1.使用账号密码模拟post
2.扫码登录
3.使用cookie直接登录
本文章探讨第一种方案

  1. 全部流程

获取appkey,secretkey(√)
获取hash(√)
rsa加密密码(√)
sign签名(√)
发出请求(❌)
验证码处理(❌)

重要!!!↓↓↓↓

1. appkey,secretkey(这个先不用管后面拼接参数用到)

Device: android

Description: 普通版
AppKey: 1d8b6e7d45233436
SecretKey: 560c52ccd288fed045859ed18bffd973

Device: android_i

Description: 国际版
AppKey: bb3101000e232e27
SecretKey: 36efcfed79309338ced0380abd824ac1

Device: android_b

Description: 概念版
AppKey: 07da50c9a0bf829f
SecretKey: 25bdede4e1581c836cab73a48790ca6e

Device: android_tv

Description: 电视版
AppKey: 4409e2ce8ffd12b8
SecretKey: 59b43e04ad6965f34319062b478f83dd

Device: biliLink

Description: 直播
AppKey: 37207f2beaebf8d7
SecretKey: e988e794d4d4b6dd43bc0e89d6e90c43

②. 获取hash:
发出GET请求

http://passport.bilibili.com/login?act=getkey

会得到以下结果例如:

{"hash":"0f059c23e938e963","key":"-----BEGIN PUBLIC KEY-----nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDjb4V7EidX/ym28t2ybo0U6t0nn6p4ej8VjqKHg100va6jkNbNTrLQqMCQCAYtXMXXp2Fwkk6WR+12N9zknLjf+C9sxn/+l48mjUU8RqahiFD1XT/u2e0m2EN029OhCgkHx3Fc/KlFSIbak93EH/XlYis0w+nXl69GV6klzgxW6d2xQIDAQABn-----END PUBLIC KEY-----n"}

说明

hash---防止暴力破解的盐
key---RSA加密用公钥

密码加密算法

将返回的key作为公钥,使用rsa加密hash接上明文密码。转base64编码。

sign签名

登录用链接:
http://passport.bilibili.com/api/v2/oauth2/login?appkey=appkey&build=5370000&channel=xiaomi&mobi_app=android&password=rsa加密后的密码&platform=android&ts=时间戳&username=明文账号

注意这并不是最终的URL还要对参数md5加密

将(appkey=appkey&build=5370000&channel=xiaomi&mobi_app=android&password=rsa加密后的密码&platform=android&ts=时间戳&username=明文账号)加上secretkey进行md5加密

最终得到的URL

http://passport.bilibili.com/api/v2/oauth2/login?appkey=appkey&build=5370000&channel=xiaomi&mobi_app=android&password=rsa加密后的密码&platform=android&ts=时间戳&username=明文账号&sign=md5加密后的参数

仅有一条评论

正在回复给  
    林唯心
    林唯心
    2019-08-04 03:47

    哈啊哈哈哈哈

arrow_forward