1、什麼是信息摘要
信息摘要把明文內容按某種規則生成一段哈希值,即使明文消息只改動了一點點,生成的結果也會完全不同。md5就是消息摘要的一種實現,可以從任意長度的明文字符串生成128位的哈希值。
摘要哈希生成的步驟爲:
1、收集相關業務參數,比如金額與目標賬戶
2、按照規則,把參數名和參數值拼接成一個字符串,同時把給定的密鑰也拼接起來,之所以需要密鑰,是因爲攻擊者也可能獲知拼接規則。
3、利用md5算法,從原文生成哈希值,Md5生成的哈希值是128位二進制數,也就是32位的16進制數。
如三方支付平臺如何驗證請求的簽名?
1、發送方和請求方約定相同的字符串拼接規則,約定相同的密鑰。
2、第三方平臺接到支付請求,按規則拼接業務參數和密鑰,利用MD5算法生成sign
3、用三方平臺自己生成的sign和請求發送過來的sign做對比,如果兩個sign值一致,則簽名無誤。如果兩個sign值不同,則消息做了篡改,這個過程叫做驗籤。
2、md5算法底層原理
簡單概括起來,MD5算法分爲四步:處理原文、設置初始值、循環加工、拼接結果