为动作生成令牌

时间:2016-06-15 21:29:10

标签: python security token

我需要生成一个允许某人执行独特操作的令牌。 困难在于没有人必须找到这个令牌并做其他人的行动。使用python我想知道生成随机令牌是否足够?有人能告诉我生成一个无法轻易找到的强令牌的必要条件

感谢您的帮助!

3 个答案:

答案 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))

此代码可以保持唯一性吗?