誰かが一意のアクションを実行できるトークンを生成する必要があります。 難しいのは、誰もこのトークンを見つけて、誰かの行動をしなければならないということです。私はランダムなトークンを生成するのが十分かどうかを知りたいですか?誰かが簡単に見つけられない強いトークンを生成するために必要なことを教えてもらえますか?アクションのトークンを生成
ありがとうございました!
誰かが一意のアクションを実行できるトークンを生成する必要があります。 難しいのは、誰もこのトークンを見つけて、誰かの行動をしなければならないということです。私はランダムなトークンを生成するのが十分かどうかを知りたいですか?誰かが簡単に見つけられない強いトークンを生成するために必要なことを教えてもらえますか?アクションのトークンを生成
ありがとうございました!
あなたができることは、文字(大文字と小文字)と数字からランダムな32ビット文字列を生成し、それを有効期限のあるDBに保存するコードです(数時間で十分でしょう)。
この方法では、たとえ "ハッカー"が近くにいてもブルートフォースを開始しても、トークンは期限切れになり、彼は開始から始める必要があります。
注:
あなたはそれをさらに強くしたい場合はまた、あなたのトークンで特殊文字を使用することができます。
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))
このコードは一意性を保持できますか?
コンテキストを教えてもらえますか? 「簡単に見つけられない」とどういう意味ですか?あなたのオンラインサービスのユーザーは、トークンを見ることができないのでしょうか?それとも、誰かが物理的にあなたのPCを持っている場合、それが見つからないように、それは記憶にないはずですか? – syntonym