我需要生成一个允许某人执行独特操作的令牌。 困难在于没有人必须找到这个令牌并做其他人的行动。使用python我想知道生成随机令牌是否足够?有人能告诉我生成一个无法轻易找到的强令牌的必要条件
感谢您的帮助!
答案 0 :(得分:1)
你可以做的是拥有一个代码,该代码只用字母(大写和小写)和数字生成一个随机的32位字符串,然后将它保存在DB中并有一个过期时间(几个小时就足够了)。 / p>
这种方式即使“黑客”在他甚至关闭时开始蛮力,令牌也将过期,他必须从乞讨开始。
注意:强>
如果你想让它更强大,你也可以在你的代币中使用特殊字符。
答案 1 :(得分:1)
def generate_key(number=20): result = binascii.hexlify(os.urandom(number)) return result
md5(用户名+密码_hash + a_random_string)+ generate_key()。我认为它像你期望的那样强大。实际上我通常只使用generate_key。我发现它足够强大。
答案 2 :(得分:0)
感谢您的回复。 事实上我不能有一个过期时间。 这是某人可以购买的东西,我们给他一个代币,用这个代币他就可以做一个动作。所以我不能使用到期时间。我想我需要一些非常强大和独特的东西。
inascii.hexlify(os.urandom(number))
此代码可以保持唯一性吗?