Django中Cookie编码疑问:签名Cookie值可见是否正常?
- 你看到的情况完全正常,Django的
signed cookie本来就不是用来加密隐藏Cookie值的,它的核心作用是防止Cookie内容被篡改。 - 你看到的
20:1sl4MF:RUUEG71gABt4-MeCj_lZiuklArWiCOLTKsxKfjLvlUg是Django signed cookie的标准格式:- 开头的
20是明文的原始值,会直接保留 - 后面的字符是基于原始值、你设置的
salt='code',再结合Django配置里的SECRET_KEY生成的哈希签名。当你用get_signed_cookie读取时,Django会重新计算签名对比,确认这个Cookie值没被篡改过。
- 开头的
- 如果想要让Cookie值完全不可见(真正加密),得自己额外处理:
- 可以用Django自带的加密工具先把值加密,再存入Cookie;读取时先解密再使用
- 也可以借助加密库对原始值做加密处理后再设置Cookie
内容的提问来源于stack exchange,提问作者Fireb4ll
相关产品推荐
相关产品推荐

