我們獲取到16位隨機數(shù)后,在這里要拿著瀏覽器信息,去加密之后,去服務(wù)器換取加密的token和隨機字符串以及加密方式。
對應(yīng)的網(wǎng)頁端的js是在這里
Step 8
換取token和加密字符串以及加密方式
這里只是簡單的接口調(diào)用。參數(shù)要用16位數(shù)字字符串,時間戳和之前的加密的結(jié)果。
獲取到token 和加密字符串之后,就可以進(jìn)行h5st的最終加密
Step 10
首先確定的是,h5st的加密方式是token作為Key,然后組裝成加密的字符串。然后根據(jù)加密方式進(jìn)行加密。
加密的字符串生成后,進(jìn)行h5st組裝
具體組裝順序是 時間格式的字符串,16位數(shù)字隨機數(shù),加密的appid,token,加密的字符串結(jié)果,加密版本,時間戳和ua信息加密的字符串
終章
用接口獲取數(shù)據(jù)。接口是有規(guī)則的。具體在js中可以尋找到。
獲取結(jié)果
雖然所有的加密位置都被解析了,但是還是會有時候獲取不到數(shù)據(jù)。但是休息一下,就可以了。
總結(jié)一下,京東的接口加密分了很多步驟
1. 請求參數(shù)body hamcsha256 加密后組裝成新的body
2. 根據(jù)接口的預(yù)設(shè)的加密規(guī)則,初始化加密,這里要先生成16位隨機數(shù),之后根據(jù)瀏覽器參數(shù)加上16位隨機數(shù)加密后,請求服務(wù)器,獲取token和加密方式以及加密隨機字符串
3. 根據(jù)加密信息,組裝h5st
看上去只有幾步,著實不好處理。
僅供學(xué)習(xí)參考
]]>