當前臺給後台傳輸資料時,除了最基本的引數,還需要傳輸乙個根據引數以md5形式生成的乙個簽名。
例如引數為:
那麼我們將資料拼成乙個如下的字串
a=1&b=2&c=3
但是除了這些引數,我們還要在前後臺統一乙個key,作為混淆
例如使用"key" = "jinx",也將其拼入字串
結果為:a=1&b=2&c=3&key=jinx
將這個字串通過js進行md5加密,會生成乙個字串,我們將此字串(假設為"str")也拼入引數,結果為
我們將此資料傳入後台
在後台,我們將傳來的資料(除sign之外)在此進行md5,加密,key與前台相等
這樣我們在後台也將生成乙個sign簽名,然後將此簽名與前台傳過來的sign相比,如果相等,則有效,反之則無效。
在這種情況下,不正常操作(例如:直接呼叫介面或者在傳輸中篡改資料)這種會修改引數的情況下,即使引數被改變,但是sign值是不可能改變的。所以後台會不接受此引數。
但是我認為問題在於,在瀏覽網頁時,是可以看到網頁所使用的js檔案的,不知道這樣會不會導致md5演算法洩露問題,這個問題有待思考。
python 使用md5加密
python中使用md5進行加密字串 author administrator coding utf 8 import hashlib aa 123456 需要加密的字串 defmd5encode str 建立md5物件 m hashlib.md5 m.update str 傳入需要加密的字串進行m...
MD5資料加密小記
static nsstring token hjsdfklsa1234 加 令牌 令牌內容可自由發揮 nsstring mymd5 nsstring md5 return result property nonatomic,strong nsstring loginpwd 宣告加密口令 nsstri...
MD5加密儲存資料
為了保證資料的隱蔽性以及處於安全方面的考慮,我們往往會將一些存入資料庫的有關密碼的資料使用加密的方式儲存起來,其中md5就是一種常用的加密方式 我知道的有兩種方法都可以達到加密的效果 1.在資料插入前加密 2.在插入資料時加密 2.1 在資料傳入前加密 commons codecgroupid co...