一、签名算法
签名规则来源抖店官网。
为了防止API调用过程中被黑客恶意篡改,调用任何一个API都需要携带签名;服务端会根据请求参数,对签名进行验证,签名不合法的请求将会被拒绝。
目前支持的签名算法 MD5 和 hmac-sha-256 两种:
下面主要围绕签名规则而讲。因为签名规则是新手最容易犯错的地方:
1.将param_json中参数(标点符号前后不能有空格)按照key字母先 后顺序排序,且值必须是String,组成json.
例如
{"aa":"11","dd":"12","cc":"13"}
正确顺序应该是:
{"aa":"11","cc":"13","dd":"12"}
2.所有请求参数按照字母先后顺序排列,access_token和sign_method不参与加密
外部顺序
app_key,method,param_json,timestamp,v
3.把所有参数名和参数值进行拼装
app_keyxxxmethodxxxparam_jsonxxxtimestampxxxvxxx
4.把app_secret分别拼接在上面得到的字符串的两端,假定app_secret的值为AppSecret
AppSecretXXXXAppSecret
5.组装的数据进行加密
import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class Main {
public static void main(String []args){