我正在尝试使用带有用户用户名和令牌的cookie向网站添加"记住我"功能,该令牌也以加密方式存储在数据库中.我的问题是这个令牌需要多长时间?我读过的一个网站说128bit,我认为这是16个字符.我不太担心重复,因为即使是256个字符的字符集中的16个字符也提供了大量的可能性,同时重复的可能性很小.
令牌需要多长时间?(我不知道如何生成价值或多么独特.)
我认为这更多地取决于值的随机化方式而不是它的长度。如果 256 位哈希值只是一些容易被猜测或缩小范围的哈希值(例如基于时间的唯一 ID),那么它根本不安全。
然而,正如您所说,您并没有具体询问如何使其足够随机。
估计需要 2^80(或更多)次操作才能破坏某些内容通常是一个不错的衡量标准。这意味着 80 位哈希是安全的。(如果您容易受到生日攻击,则需要两倍,即 160 位,但我认为这种情况不适用)。
就我个人而言,为此目的我使用 256 位哈希值。当使用 Base64 编码时,它们的长度会压缩到只有 43 个字符,而且都是可打印的字符。我认为,尽管这远远超出了我的需要,但拥有它们那么久也不是什么大麻烦。
| 归档时间: |
|
| 查看次数: |
1310 次 |
| 最近记录: |