2人贊同了該回答
? 時間戳就是一份能夠表示一份數(shù)據(jù)在一個特定時間點已經(jīng)存在的完整的可驗證的數(shù)據(jù)。
時間戳的作用
客戶端在向服務(wù)端接口進(jìn)行請求,如果請求信息進(jìn)行了加密處理,被第三方截取到請求包,可以使用該請求包進(jìn)行重復(fù)請求操作。如果服務(wù)端不進(jìn)行防重放攻擊,就會服務(wù)器壓力增大,而使用時間戳的方式可以解決這一問題。
防篡改:一般使用的方式就是把參數(shù)拼接,當(dāng)前項目AppKey,雙方約定的“密鑰”,加入到Dictionary字典集中,按ABCD順序進(jìn)行排序,最后在MD5+加密.客戶端將加密字符串和請求參數(shù)一起發(fā)送給服務(wù)器。服務(wù)器按照上述規(guī)則拼接加密后,與傳入過來的加密字符串比較是否相等.
防復(fù)用:上面的方式進(jìn)行加密,就無法解決防復(fù)用的問題,這時需要在客戶端和服務(wù)端分別生成UTC的時間戳,這個UTC是防止你的客戶端與服務(wù)端不在同一個時區(qū),然后把時間戳timestamp拼在密文里就可以了。
發(fā)布于2022-12-21