java 版本的网易 api 加密方式:

加密工具类

https://github.com/junbaor/netease/blob/master/src/main/java/com/junbaor/netease/common/EncryptUtils.java

调用测试类

https://github.com/junbaor/netease/blob/master/src/test/java/com/junbaor/netease/common/TestApi.java

希望对你有所帮助。

package com.junbaor.netease.common;

import org.apache.commons.lang3.RandomStringUtils;

import sun.misc.BASE64Encoder;

import javax.crypto.Cipher;

import javax.crypto.spec.IvParameterSpec;

import javax.crypto.spec.SecretKeySpec;

import java.math.BigInteger;

import java.util.HashMap;

import java.util.Map;

public class EncryptUtils {

private final static String modulus = "00e0b509f6259df8642dbc35662901477df22677ec152b5ff68ace615bb7" +

"b725152b3ab17a876aea8a5aa76d2e417629ec4ee341f56135fccf695280" +

"104e0312ecbda92557c93870114af6c9d05c4f7f0c3685b7a46bee255932" +

"575cce10b424d813cfe4875d3e82047b97ddef52741d546b8e289dc6935b" +

"3ece0462db0a22b8e7";

private final static String nonce = "0CoJUm6Qyw8W8jud";

private final static String pubKey = "010001";

private static final String PARAMS = "params";

private static final String ENCSECKEY = "encSecKey";

public static Map encrypt(String text) {

String secKey = RandomStringUtils.random(16, "0123456789abcde");

String encText = aesEncrypt(aesEncrypt(text, nonce), secKey);

String encSecKey = rsaEncrypt(secKey, pubKey, modulus);

Map map = new HashMap();

map.put(PARAMS, encText);

map.put(ENCSECKEY, encSecKey);

return map;

}

private static String aesEncrypt(String text, String key) {

try {

IvParameterSpec iv = new IvParameterSpec("0102030405060708".getBytes("UTF-8"));

SecretKeySpec skeySpec = new SecretKeySpec(key.getBytes("UTF-8"), "AES");

Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");

cipher.init(Cipher.ENCRYPT_MODE, skeySpec, iv);

byte[] encrypted = cipher.doFinal(text.getBytes());

return new BASE64Encoder().encode(encrypted);

} catch (Exception e) {

return "";

}

}

private static String rsaEncrypt(String text, String pubKey, String modulus) {

text = new StringBuilder(text).reverse().toString();

BigInteger rs = new BigInteger(String.format("%x", new BigInteger(1, text.getBytes())), 16)

.modPow(new BigInteger(pubKey, 16), new BigInteger(modulus, 16));

String r = rs.toString(16);

if (r.length() >= 256) {

return r.substring(r.length() - 256, r.length());

} else {

while (r.length() < 256) {

r = 0 + r;

}

return r;

}

}

}

java 音乐api接口_关于网易云音乐爬虫的api接口?相关推荐

  1. unreal无损音乐百度云_将网易云音乐专用的无损音乐格式转换成全平台通用的无损格式...

    前几天发现网易云音乐的ncm格式很坑爹,由于网易云的部分音乐采取了这种流媒体平台模式,这种格式的歌曲下载到设备本地以后只有在网易云音乐的app上面才能播放,而且还要在会员生效期间才能播 今天网易云弄出 ...

  2. 网易云api如何调用_分析网易云音乐API的经历

    在做qq机器人的时候想加入点歌功能,虽然自带一个点歌插件,但是只能分享QQ音乐,所以我想着自己写一个网易云音乐的. 首先打开网易云音乐的搜索界面,F12打开开发者工具并切换到Network. 随便搜索 ...

  3. 网易云音乐android api_网易云音乐怎么发布个人Mlog?网易云音乐发布个人Mlog的教程介绍...

    现在很多人都喜欢发Mlog,网易云音乐中也可以发布mlog啦,下面小编就为大家带来网易云音乐发布个人Mlog的具体操作方法,想知道的话就来看看吧. 网易云音乐怎么发布个人Mlog?网易云音乐发布个人M ...

  4. 电脑网易云音乐,拿下华研,网易云音乐终于解决1%的大难题,可阿里音乐以后咋办?...

    3月1日,网易云音乐和华研国际宣布达成战略合作,将在华语音乐的宣传推广和原创音乐人的扶持培养方面,展开多样化的合作.其中,在音乐版权合作方面,网易云音乐已获得华研国际旗下目前全量音乐曲库的授权. 这件 ...

  5. python爬音乐-用python爬取网易云音乐歌曲的歌词

    今天我来分享一下如何用python爬取网易云音乐歌曲的歌词,网易云音乐的歌词的爬取思路同前面介绍过的爬取网易云音乐的歌曲评论的爬取思路一致.由于两者的加密思路都是一致的,因此我们只需分析出被加密了的参 ...

  6. 有没有java自编歌曲,高仿网易云音乐一(可扫描本地音乐播放)

    最近闲下来做了个仿网易云音乐的音乐播放器 效果图: p1.png p2.png p3.png p4.png p5.png p6.png 项目下载地址 闪屏 1.gif 扫描本地音乐 3.gif 播放 ...

  7. 网易云音乐刷听歌量_榆林网易云音乐粉丝量主要方式

    榆林网易云音乐粉丝量主要方式 可怜是真不好意思,发布小程序出来可以,这个不经意间就引起了一场广告.今天直播主播小程序与商品促销有何区别,怎样和广告主直接沟通,从而获得相对固定的展现形式,直接达到促销的 ...

  8. 如何将已下载音乐导入到iPhone的网易云音乐中

    背景 有些音乐是网易云音乐上没有的,即便是花钱也无法得到的,这样一来,如果对于一个只使用单一软件播放音乐的人来说,很坑,怎么办呢? 对策 既然这样,找找别的方法,其实iTunes本身应该是一个很好用的 ...

  9. html制作网易云音乐登录系统,JavaScript实现[网易云音乐Web站登录窗口]拖拽功能...

    说明 你可能发现有很多网站他们的登录窗口或者说是登录框是可以拖动的, 更有甚者他们的站点提示框都可以拖动, 你也许可能会对这个功能的实现感兴趣, 那么这篇文章可能会对你有所帮助!具体的网站示例以 网易 ...

最新文章

  1. Alpha 测试和Beta的区别
  2. 本地搭建Hadoop伪分布式环境之四:开启搭建Hadoop2.4.0之旅
  3. javaScript知识点大全
  4. iphone发送邮件html,iPhone使用smtp服务器发送电子邮件?
  5. 为什么说 Julia 更优于 Python?
  6. Android Studio 导入/导出项目以及Android Device Monitor导出文件
  7. ASP.NET Web API 入门 (API接口、寄宿方式、HttpClient调用)
  8. 同等条件下,杂交水稻是否增产?
  9. jar打包 剔除第三方依赖以及它的依赖_spring boot + gradle 打包 bootJar 瘦身分离 lib...
  10. 深入浅出Python——Python高级语法之文件操作
  11. 生成对抗网络GANs的用途
  12. oracle财务系统名称,Oracle财务系统总账模块操作手册
  13. 人生第一次和第二次车祸
  14. Android Edittext 手机号码格式输入设置
  15. java考试真题6_JAVA认证考试历年真题:SCJP认证试题解析6
  16. 苹果 iOS 15 正式发布
  17. 工作之路 - 上海泛微软件有限公司
  18. 【补题计划】Codeforces Round #533+#534(Div.2)
  19. wegame饥荒一直登录中_WeGame到底有多难用?“LOL大神自己编写一个插件,完美代替WG”...
  20. IPv6地址应用与配置

热门文章

  1. 如何改变线的长度?CAD .NET热门技术问答精选合集
  2. 浅谈 LiveData 的通知机制
  3. 访中科曙光智能计算技术总监许涛:重新认识面向未来的AI服务器和云计算中心...
  4. UCZProgressView CALayer旋转
  5. 转图像偏微分方程不适定问题
  6. JS 时间戳转换成日期
  7. 基于JSP实现OA办公系统
  8. Error running query: MetaException(message:Got exception: java.net.ConnectException Call From XXXX
  9. 生物信息学基本知识笔记
  10. 2021.02.01.stata注释方法