通常情況下,這種很長一段數字字母的key和secret都是通過md5和sha1加密算法來生成。
-
appkey的生成
appkey生成比較簡單,一般是客戶的唯一值+字符串組成,方法很多,做到唯一性的字符串就可以。比如使用用戶的uid+”abc”字符串組成。
-
appSecret生成方法
其原始數據有可能是你的賬號的id,還有注冊時間之類的唯一值進行組合再通過md5和sha1來生成,而md5和sha1對比的話,md5比sha1更快,但sha1比md5強度更高,所以在此類授權應用里,通常都使用sha1算法,例如oauth的簽名算法
-
驗證授權
例如要和微信通信里,要傳遞三個參數ABC,則需要將ABC與appsecret一起sha1一遍,得到一個簽名串,然后將這個簽名串與appkey一起傳遞給微信,
此時,微信會通過appkey去查找對應的appsecret,然后再將ABC參數與查詢出來的appsecret做一遍相同的簽名算法,如果得到的簽名串一致,則認為是授權成功