mirror of
https://gitlab.com/Binaryify/neteasecloudmusicapi.git
synced 2025-05-23 22:37:41 +08:00
feat: 重构 register_anonimous 模块 #1858
This commit is contained in:
parent
6a541a33a1
commit
574364ae41
@ -1,27 +1,29 @@
|
|||||||
// 游客登录
|
const CryptoJS = require('crypto-js')
|
||||||
const crypto = require('crypto')
|
|
||||||
const ID_XOR_KEY_1 = Buffer.from('3go8&$833h0k(2)2')
|
const ID_XOR_KEY_1 = '3go8&$833h0k(2)2'
|
||||||
|
|
||||||
function cloudmusic_dll_encode_id(some_id) {
|
function cloudmusic_dll_encode_id(some_id) {
|
||||||
const xored = Buffer.from(
|
let xoredString = ''
|
||||||
[...some_id].map(
|
for (let i = 0; i < some_id.length; i++) {
|
||||||
(c, idx) => c.charCodeAt(0) ^ ID_XOR_KEY_1[idx % ID_XOR_KEY_1.length],
|
const charCode =
|
||||||
),
|
some_id.charCodeAt(i) ^ ID_XOR_KEY_1.charCodeAt(i % ID_XOR_KEY_1.length)
|
||||||
)
|
xoredString += String.fromCharCode(charCode)
|
||||||
const digest = crypto.createHash('md5').update(xored).digest()
|
}
|
||||||
return digest.toString('base64')
|
const wordArray = CryptoJS.enc.Utf8.parse(xoredString)
|
||||||
|
const digest = CryptoJS.MD5(wordArray)
|
||||||
|
return CryptoJS.enc.Base64.stringify(digest)
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = async (query, request) => {
|
module.exports = async (query, request) => {
|
||||||
query.cookie.os = 'iOS'
|
query.cookie.os = 'iOS'
|
||||||
const deviceId = `NMUSIC`
|
const deviceId = `NMUSIC`
|
||||||
const encodedId = Buffer.from(
|
const encodedId = CryptoJS.enc.Base64.stringify(
|
||||||
`${deviceId} ${cloudmusic_dll_encode_id(deviceId)}`,
|
CryptoJS.enc.Utf8.parse(
|
||||||
|
`${deviceId} ${cloudmusic_dll_encode_id(deviceId)}`,
|
||||||
|
),
|
||||||
)
|
)
|
||||||
const username = encodedId.toString('base64')
|
|
||||||
const data = {
|
const data = {
|
||||||
/* A base64 encoded string. */
|
username: encodedId,
|
||||||
username: username,
|
|
||||||
}
|
}
|
||||||
let result = await request(
|
let result = await request(
|
||||||
'POST',
|
'POST',
|
||||||
|
Loading…
x
Reference in New Issue
Block a user