我需要生成的令牌,將允許有人做了獨特的作用。 困難在於沒有人必須找到這個標記並且做別人的行爲。使用python我想知道是否產生一個隨機令牌是否足夠?誰能告訴我什麼是必要的生成不能被發現容易生成令牌的動作
謝謝您的幫助下,強大的象徵!
我需要生成的令牌,將允許有人做了獨特的作用。 困難在於沒有人必須找到這個標記並且做別人的行爲。使用python我想知道是否產生一個隨機令牌是否足夠?誰能告訴我什麼是必要的生成不能被發現容易生成令牌的動作
謝謝您的幫助下,強大的象徵!
你可以做的是有一個生成只從字母(大寫和小寫)和數字的隨機32位串碼,並將其與到期時間(幾個小時就足夠了)保存在數據庫中。
即使「黑客」通過他甚至接近的時間開始蠻力這樣,令牌將過期,他將不得不從beggening開始。
注:
如果你想讓它更強大,你也可以在你的令牌使用特殊字符。
def generate_key(number=20): result = binascii.hexlify(os.urandom(number)) return result
MD5(用戶名+ password_hash + a_random_string)+ generate_key()。我認爲你的預期很強大。其實我通常只使用generate_key。我發現它足夠強大。
感謝您的回覆。 事實上,我不能有一個到期時間。 這是某人可以購買的東西,我們給他一個令牌,並且憑藉此令牌,他將能夠採取行動。所以我不能使用到期時間。我想我需要一些非常強大和獨特的東西。
inascii.hexlify(os.urandom(number))
這段代碼可以保持唯一性嗎?
你可以給一些背景嗎? 「你不容易找到」是什麼意思?你的在線服務的用戶(如果你工作的話)不能看到令牌?或者它不應該在內存中,所以如果有人在物理上拿走你的電腦,就不能找到它? – syntonym