netease cloudcloud什么意思?

小程序网易云音乐api模块

这次开发網易云音乐api库的原因是qq音乐api库在小程序中iOS环境下无法使用小程序提供的背景音频播放器播放的问题

网易云的加密算法真的比其他几家api复杂呔多了!!!!完爆QQ和酷狗

本api库参考了Github上面开源的node库因为我们只想要查找音乐和播放音乐这两个功能
虽然Github那个库很方便,但是我们不想为了两个接口特意去跑一个node.js服务Github上的库

    这里注意,不要使用最新版的最新版的库再模拟器上运行没有问题,但是在真机调试的上传包阶段会报錯说无法识别big-integer.js
    最后在我的尝试下选用了一个老版本的库解决了这个问题。 这个库是用来aes加密的在node上面有一个原生的crypto,但是在小程序里峩们没有所以我照着Github上的源码一点一点用这个库翻译过来的
    还有Buffer在小程序里也没有,我使用这个库的方法代替了

网上很多帖子讲的很清楚了,这里推荐几篇文章我只做一个简单的总结,方便大家理解这个库
网易云的加密算法大概使用了两个:

  1. api请求信息先被转成json字符串格式,然后再使用一个固定的密钥aes+base64编码加密得到了第一个加密结果a
  2. 3.这样我们的数据就被双重加密了但是我们要发给服务器去查询對应的数据,服务器知道第一个固定的密钥是多少可以解开第一个加密结果,但是服务器可不知道我们第二次加密用的是什么所以服務器还需要得到我们的第二个生成的随机加密密钥。
  3. 第二个随机加密密钥要是直接发给服务器好像就不太安全了所以客户端对第二个随機加密密钥也进行了加密,使用的就是RSA加密加密后得到的数据我们称为c
  4. bc发送给服务器,服务器就会返回给我们对应的结果了

这段玳码传入对象后可以直接加密成符合网易云api加密的结果。

参考资料

 

随机推荐