update: 使用 crypto-js 重构 crypto 部分

This commit is contained in:
binaryify 2024-04-25 15:19:28 +08:00
parent d55fb43f0a
commit 2bb5269dfa
7 changed files with 16 additions and 19 deletions

View File

@ -1,6 +1,7 @@
# 更新日志 # 更新日志
### 4.16.5 | 2024.04.25 ### 4.16.6 | 2024.04.25
- ua 问题修复 - ua 问题修复
- 使用 crypto-js 重构 crypto 部分
### 4.16.4 | 2024.04.23 ### 4.16.4 | 2024.04.23
@ -18,7 +19,7 @@
### 4.16.0 | 2024.04.18 ### 4.16.0 | 2024.04.18
- ua 更新,修复接口提示网络拥挤问题 - ua 更新,修复接口提示网络拥挤问题
- 支持手动传入 ua 参数,修改 user-agent - 支持手动传入 ua 参数,修改 user-agents
### 4.15.8 | 2024.03.29 ### 4.15.8 | 2024.03.29

View File

@ -1,15 +1,13 @@
// 邮箱登录 // 邮箱登录
const crypto = require('crypto') const CryptoJS = require('crypto-js')
module.exports = async (query, request) => { module.exports = async (query, request) => {
query.cookie.os = 'ios' query.cookie.os = 'ios'
query.cookie.appver = '9.0.65' query.cookie.appver = '9.0.65'
const data = { const data = {
username: query.email, username: query.email,
password: password: query.md5_password || CryptoJS.MD5(query.password).toString(),
query.md5_password ||
crypto.createHash('md5').update(query.password).digest('hex'),
rememberLogin: 'true', rememberLogin: 'true',
} }
let result = await request('POST', `https://music.163.com/api/login`, data, { let result = await request('POST', `https://music.163.com/api/login`, data, {

View File

@ -1,6 +1,6 @@
// 手机登录 // 手机登录
const crypto = require('crypto') const CryptoJS = require('crypto-js')
module.exports = async (query, request) => { module.exports = async (query, request) => {
query.cookie.os = 'ios' query.cookie.os = 'ios'
@ -11,8 +11,7 @@ module.exports = async (query, request) => {
captcha: query.captcha, captcha: query.captcha,
[query.captcha ? 'captcha' : 'password']: query.captcha [query.captcha ? 'captcha' : 'password']: query.captcha
? query.captcha ? query.captcha
: query.md5_password || : query.md5_password || CryptoJS.MD5(query.password).toString(),
crypto.createHash('md5').update(query.password).digest('hex'),
rememberLogin: 'true', rememberLogin: 'true',
} }
let result = await request( let result = await request(

View File

@ -1,12 +1,12 @@
// 注册账号 // 注册账号
const crypto = require('crypto') const CryptoJS = require('crypto-js')
module.exports = (query, request) => { module.exports = (query, request) => {
query.cookie.os = 'pc' query.cookie.os = 'pc'
const data = { const data = {
captcha: query.captcha, captcha: query.captcha,
phone: query.phone, phone: query.phone,
password: crypto.createHash('md5').update(query.password).digest('hex'), password: CryptoJS.MD5(query.password).toString(),
nickname: query.nickname, nickname: query.nickname,
countrycode: query.countrycode || '86', countrycode: query.countrycode || '86',
} }

View File

@ -1,11 +1,10 @@
const CryptoJS = require('crypto-js')
module.exports = (query, request) => { module.exports = (query, request) => {
const data = { const data = {
phone: query.phone, phone: query.phone,
countrycode: query.countrycode || '86', countrycode: query.countrycode || '86',
captcha: query.captcha, captcha: query.captcha,
password: query.password password: query.password ? CryptoJS.MD5(query.password).toString() : '',
? crypto.createHash('md5').update(query.password).digest('hex')
: '',
} }
return request( return request(
'POST', 'POST',

View File

@ -1,6 +1,6 @@
{ {
"name": "NeteaseCloudMusicApi", "name": "NeteaseCloudMusicApi",
"version": "4.16.5", "version": "4.16.6",
"description": "网易云音乐 NodeJS 版 API", "description": "网易云音乐 NodeJS 版 API",
"scripts": { "scripts": {
"start": "node app.js", "start": "node app.js",

View File

@ -1,5 +1,5 @@
const encrypt = require('./crypto') const encrypt = require('./crypto')
const crypto = require('crypto') const CryptoJS = require('crypto-js')
const { default: axios } = require('axios') const { default: axios } = require('axios')
const { PacProxyAgent } = require('pac-proxy-agent') const { PacProxyAgent } = require('pac-proxy-agent')
const http = require('http') const http = require('http')
@ -51,11 +51,11 @@ const createRequest = (method, url, data = {}, options) => {
options.cookie = { options.cookie = {
...options.cookie, ...options.cookie,
__remember_me: true, __remember_me: true,
// NMTID: crypto.randomBytes(16).toString('hex'), // NMTID: CryptoJS.lib.WordArray.random(16).toString(),
_ntes_nuid: crypto.randomBytes(16).toString('hex'), _ntes_nuid: CryptoJS.lib.WordArray.random(16).toString(),
} }
if (url.indexOf('login') === -1) { if (url.indexOf('login') === -1) {
options.cookie['NMTID'] = crypto.randomBytes(16).toString('hex') options.cookie['NMTID'] = CryptoJS.lib.WordArray.random(16).toString()
} }
if (!options.cookie.MUSIC_U) { if (!options.cookie.MUSIC_U) {
// 游客 // 游客