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 问题修复
- 使用 crypto-js 重构 crypto 部分
### 4.16.4 | 2024.04.23
@ -18,7 +19,7 @@
### 4.16.0 | 2024.04.18
- ua 更新,修复接口提示网络拥挤问题
- 支持手动传入 ua 参数,修改 user-agent
- 支持手动传入 ua 参数,修改 user-agents
### 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) => {
query.cookie.os = 'ios'
query.cookie.appver = '9.0.65'
const data = {
username: query.email,
password:
query.md5_password ||
crypto.createHash('md5').update(query.password).digest('hex'),
password: query.md5_password || CryptoJS.MD5(query.password).toString(),
rememberLogin: 'true',
}
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) => {
query.cookie.os = 'ios'
@ -11,8 +11,7 @@ module.exports = async (query, request) => {
captcha: query.captcha,
[query.captcha ? 'captcha' : 'password']: query.captcha
? query.captcha
: query.md5_password ||
crypto.createHash('md5').update(query.password).digest('hex'),
: query.md5_password || CryptoJS.MD5(query.password).toString(),
rememberLogin: 'true',
}
let result = await request(

View File

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

View File

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

View File

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

View File

@ -1,5 +1,5 @@
const encrypt = require('./crypto')
const crypto = require('crypto')
const CryptoJS = require('crypto-js')
const { default: axios } = require('axios')
const { PacProxyAgent } = require('pac-proxy-agent')
const http = require('http')
@ -51,11 +51,11 @@ const createRequest = (method, url, data = {}, options) => {
options.cookie = {
...options.cookie,
__remember_me: true,
// NMTID: crypto.randomBytes(16).toString('hex'),
_ntes_nuid: crypto.randomBytes(16).toString('hex'),
// NMTID: CryptoJS.lib.WordArray.random(16).toString(),
_ntes_nuid: CryptoJS.lib.WordArray.random(16).toString(),
}
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) {
// 游客