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