當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
JS加密算法简单分析
生活随笔
收集整理的這篇文章主要介紹了
JS加密算法简单分析
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這次分析百度音樂的評論請求的加密,首先先看包
看到有兩個地方1. param,2. sign,基本可以斷定sign是用的MD5加密的
那么我們從html頁面分析入手,恰巧看到html代碼中有寫到這么一段
右鍵點擊open in Source panel
熟悉的配方,熟悉的味道,看起來就是MD5,在函數末尾下個斷點(點擊前面的行號就可以下斷點),換頁即可運行,F10一直單步運行,發現最后會跳轉到另一個js
看來這里就是加密的地方,param應該是AES加密
所以param和sign的計算應該是這樣
# -*- coding:utf-8 -*- #!/usr/bin/env python # http://music.baidu.com/data/tingapi/v1/restserver/ting?method=baidu.ting.ugcmsg.getCommentListByType×tamp=1528636009¶m=NT6J1C5axIckxMHUH2k3Ph1pDNp7wWl6s0IoSsSQMcRi1YJKw0RdAfhQ0ULfOwjRNvoopUj6Ki6jMzXwBLatcQ==&sign=c16dd43318fc66aa6b2865b7ce25541b&from=webimport time import base64 from Crypto.Cipher import AES import hashlibdef md5Encrypt(text):m1 = hashlib.md5()m1.update(text)return m1.hexdigest() def aesEncrypt(text, secKey):pad = 16 - len(text) % 16text = text pad * chr(pad)encryptor = AES.new(secKey, 2,secKey)ciphertext = encryptor.encrypt(text)ciphertext = base64.b64encode(ciphertext)return ciphertext# timestamp = str(int(time.time())) # offset = "20" timestamp = "1528636009" offset = "80" size = "20" musicid = "242078437" text = "from=web&offset=" offset "&size=" size "&type=2&type_id=" musicid key = md5Encrypt("baidu_taihe_music_secret_key" timestamp)[8:24] param = aesEncrypt(text,key) sign = md5Encrypt("baidu_taihe_music" param timestamp)剛巧與上面計算出來的結果一樣,結束
更多專業前端知識,請上 【猿2048】www.mk2048.com
總結
以上是生活随笔為你收集整理的JS加密算法简单分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vue结合ueditor富文本编辑器(换
- 下一篇: JS 的平凡之路--学习人气眼中的效果(