gpt4 book ai didi

python - 用于存储 Signer 对象 (django.core.signing) 的 sign 方法的输出的 Django CharField 的最小 max_length

转载 作者:太空宇宙 更新时间:2023-11-03 15:20:40 25 4
gpt4 key购买 nike

我必须对一个值进行签名,在我的例子中是电子邮件,并且我必须将签名的值存储在 Django CharField 中。我正在使用 django.core.signing 模块的 Signer.sign 方法。由于我还想插入 db 字段的 max_length 参数,所以我的问题是,我可以在 max_length 中放入的最小值是多少,以便始终成功地将其存储在数据库中。

最佳答案

事实上,签名 token 长度随着输入值的增加而增长:

>>> from django.core.signing import Signer
>>> signer = Signer()
>>> signer.sign('a')
'a:JRYbTbX2xBKZAgJxbzUzsl80vIQ'

>>> signer.sign('ab')
'ab:ThbCyQ9bQpAX4vMAmYSEtbtF7Y4'

>>> signer.sign('abc')
'abc:4_rTdYDe18bPklTTKYIsJaB9_oM'

>>> signer.sign('abcd')
'abcd:RzGFLsNgRv-LQ4lEorvNPjGH5LM'

>>> signer.sign('abcde')
'abcde:oOdfJjZ14Jz2F4aHD3pQMBC9fAA'

>>> signer.sign('abcdefghijkl')
'abcdefghijkl:Wz1gPy4QS7ZoCyXuKgUFG-ofxpU'

但是,根据我的测试, token 的最大大小为27。根据这个答案What is the maximum length of a valid email address?电子邮件地址的最大长度为 254 个字符。 TextFieldmax_length 属性应为 282 (254+27+1 用于分隔符)。

关于python - 用于存储 Signer 对象 (django.core.signing) 的 sign 方法的输出的 Django CharField 的最小 max_length,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43575426/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com