1.默認自定義cookiedjango
在使用擴展簽名時,會根據settings 配置中的 SIGNING_BACKEND 來運行加密方法,默認使用 django.core.signing.TimestampSigner 類進行加密和解密cookie
查看: set_signed_cookie 函數,咱們打印 get_cookie_signer 的返回值,能夠得知是:django.core.signing.TimestampSigner 對象。函數
查看 get_cookie_signer 函數,能夠看出根據: settings.SIGNING_BACKEND 來配置加解密的類方法。默認使用:django.core.signing.TimestampSigner。 加密
查看django.core.signing.TimestampSigner 類 ,有sign和unsign方法來實現加解密,因此咱們自定義類時,也必須有這兩個方法來進行加解密,而且方法名稱不能變動(不然須要修改django其餘源碼)3d
2.自定義擴展cookie對象
2.1 創建 一個 模塊文件:c1,新建 類 my_cookie.繼承: TimestampSigner 類blog
2.2 定義類方法 sign 和 unsign繼承
2.3 settings文件中配置: SIGNING_BACKEND=‘c1.my_cookie’get