1. 程式人生 > 實用技巧 >JS解密入門——有道翻譯

JS解密入門——有道翻譯

JS解密入門——有道翻譯

很多人學習python,不知道從何學起。
很多人學習python,掌握了基本語法過後,不知道在哪裡尋找案例上手。
很多已經做案例的人,卻不知道如何去學習更加高深的知識。
那麼針對這三類人,我給大家提供一個好的學習平臺,免費領取視訊教程,電子書籍,以及課程的原始碼!
QQ群:1097524789

此篇文章省略了很多基礎的,例如json格式資料的提取啊。試試手,練練感覺。似乎也沒啥用。

一 瞭解加密與解密 :

什麼是加密,什麼是解密?

  • 加密:資料加密的基本過程,將原為明文的檔案或資料經過某種演算法進行一次或多次處理。得到的結果常稱之為密文的東東。
  • 解密:加密的逆過程,找到加密相同的方式,對其逆向處理,得到原本檔案或資料的過程

常用的加密方式:

加密演算法分對稱加密和非對稱加密

其中對稱加密演算法的加密與解密金鑰相同,非對稱加密演算法的加密金鑰與解密金鑰不同,此外,還有一類不需要金鑰的雜湊演算法。

本節所涉及的方式:MD5

MD5用的是雜湊函式,它的典型應用是對一段資訊產生資訊摘要,以防止被篡改。嚴格來說,MD5不是一種加密演算法而是摘要演算法。無論是多長的輸入,MD5都會輸出長度為128bits的一個串 (通常用16進製表示為32個字元)。

[更多相關詳情請點選此處](https://blog.csdn.net/baidu_22254181/article/details/82594072)

二 造!點選進入本節原始碼

這段內容圖會比較多,文字敘述會比較少.

確定URL:

Basic URL :http://fanyi.youdao.com/

結論緣由,在不重新整理全域性頁面的情況下,在輸入框中輸入,翻譯動態重新整理.可知此連結為Ajax.

經過一系列測試發現,其實際需操作的URL為http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule

在開發者工具中具體觀察以下.

基本網站的分析就分析完畢了

注意此處為POST請求!!!

觀察加密

仔細觀察紅色方框中,重點觀察隨著時間改變而改變的引數(圖中紅色箭頭所指之處)

分析加密:

仔細經過上述步驟即可進入本次加密的原始碼詳情頁

搜尋sign引數,得知本頁面有15個sign,篩選排查過後可得知以下位置為sign等引數,賦值加密過程

為什麼會大概確定是此處呢?

理由一:var 宣告賦值

理由二:md5()

為什麼深信此處呢?

斷點一打,debug一下,啥都出來了.

根據其語法可知,java知識

  • e 為輸入所翻譯的內容
  • ts 為七位整數的時間戳
  • salt 為時間戳後加上一位,大於0小於9的數字
  • bv 為User-Agent的值經過md5加密的 密文
  • sign 為(“fanyideskweb” + e + salt + “Nw(nmmbP%A-r6U3EUn]Aj”)經過md5加密的 密文

到這裡就基本完成了,那接下來就開始碼碼吧.

碼!!!

看到這裡,轉而看一下原始碼。對著上面的註釋,仔細看看,相信你一定會有所收穫的。