开发者可以通过各种接口获取小红书提供的开放数据。为了确保用户数据的安全性,小红书会对其中的敏感数据做签名和加密处理。开发者后台拿到开放数据后可以对数据进行校验签名和解密。
签名校验以及数据加解密涉及用户的会话密钥 session_key。 开发者应该事先通过登录流程获取 session_key 并保存在服务器。
为了确保开放接口返回用户数据的安全性,小红书会对明文数据进行签名。开发者可以根据业务需要对数据包进行签名校验,确保数据的完整性。
通过调用涉及开放数据的接口获取数据时,接口会同时返回 rawData、signature,其中 signature = sha1( rawData + session_key )
开发者将 signature、rawData 发送到开发者服务器进行校验。服务器利用用户对应的 session_key 使用相同的算法计算出签名 signature2 ,比对 signature 与 signature2 即可校验数据的完整性。
接口如果涉及敏感数据,接口的明文内容将不包含这些敏感数据。开发者如需要获取敏感数据,需要对接口返回的加密数据(encryptedData)进行对称解密。
解密算法说明
小红书提供Java语言的示例代码,可参考。
基于 session_key 的开发者请关注下面几个与 session_key 有关的注意事项: