secure cookie with hash!

當(dāng)我們使用cookie時(shí),我們可以用cookie value | hash_value of the cookie來(lái)設(shè)置cookie值.
當(dāng)client不知道我們的hash 算法時(shí), client 可以更改cookie value 但是卻不能正確的得到寫的hash值。
到了server端,我們就可以使用hash 函數(shù)再計(jì)算一次 cookie value, 看是否等于 client傳過(guò)來(lái)的hash值,以此來(lái)判斷cookie value是否被更改過(guò)了。

import hashlib

def hash_str(s):
    return hashlib.sha256("our secret!"+s).hexdigest()   

# or
def hash_str(s):
    return hmac.new("secret", "ziho").hexdigest()

def make_secure_val(s):
    return "%s | %s" % (s, hash_str(s))

def check_secure_val(h):
    val = h.split('|')[0]
    if h == make_secure_val(val):
        return val

print(check_secure_val("zihowe | 016d473857f1029884ec80ede8ae486f33d2fdad9411d63cd2aab11097ee997c")
import hmac

hmac.new("secret", "ziho").hexdigest()
hashlib.md5("secret" + "ziho").hexdigest()

Note:
Secure: sha256 > sha1 > md5

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,688評(píng)論 19 139
  • 1、不安全的隨機(jī)數(shù)生成,在CSRF TOKEN生成、password reset token生成等,會(huì)造成toke...
    nightmare丿閱讀 4,000評(píng)論 0 1
  • 本篇文章分析 Tornado 中 secure cookie 的實(shí)現(xiàn),代碼基于 Tornado 4.4.3 關(guān)于 ...
    Hanaasagi閱讀 3,502評(píng)論 0 4
  • 一道傷痕 換來(lái)一次生的機(jī)會(huì) 我看見(jiàn),它時(shí)常猙獰地笑 盡管非常厭惡它 可是,它卻刻進(jìn)我的身體里 揉進(jìn)我的生命里 還揚(yáng)...
    詩(shī)姬閱讀 500評(píng)論 0 5
  • 據(jù)報(bào)道,美國(guó)搖滾天團(tuán)“林肯公園”主唱查斯特·貝寧頓在美國(guó)加州洛杉磯的住宅內(nèi)上吊自盡,年僅41歲。當(dāng)?shù)貢r(shí)間周四上午9...
    平白書(shū)閱讀 855評(píng)論 0 7

友情鏈接更多精彩內(nèi)容