非常に安全なものを保護するために、一意のIDを作成する必要があります。 Railsの中に今rails - 安全なUUIDを提示するための提案
私がやっている:
uuid = (UUIDTools::UUID.timestamp_create().to_s.gsub('-','') + UUIDTools::UUID.timestamp_create().to_s.gsub('-',''))
この方法で、あなたの考えは何ですか?スマート?悪い?提案?
おかげ
非常に安全なものを保護するために、一意のIDを作成する必要があります。 Railsの中に今rails - 安全なUUIDを提示するための提案
私がやっている:
uuid = (UUIDTools::UUID.timestamp_create().to_s.gsub('-','') + UUIDTools::UUID.timestamp_create().to_s.gsub('-',''))
この方法で、あなたの考えは何ですか?スマート?悪い?提案?
おかげ
敵対者が識別子を予測できないようにするには、暗号的に強力な擬似乱数ジェネレータを使用することをお勧めします。ビットサイズの面では、128ビット(または16バイト)が適しています。
# if using Ruby < 1.9:
require 'active_support/secure_random'
id = SecureRandom.random_bytes(16)
あなたの便宜のための方法.hex
、.base64
、および.urlsafe_base64
もあります。これらは、単に対応する数のランダムバイトを生成し、次に適切な方式でランダムバイトをエンコードします。たとえば、SecureRandom.hex(16)
は、32個の安全にランダムな16進文字を与えます。
私はURLとEMAILアドレスワイルドカードを安全にする必要があります。 – AnApprentice
のUUIDは、セキュリティの強さのために設計されていない、と任意のセキュリティ技術の重要な部分であってはなりません。 http://www.ietf.org/rfc/rfc4122.txt - 特にセクション6を参照してください。
ありがとうDMW。何を指示してるんですか? – AnApprentice
疑問の文脈がなくても解を処方するのは難しいですが、まともな擬似乱数が役に立ちそうです。 Railsでは、ActiveSupport :: SecureRandomが便利です。
非常にいいです、どのようにActiveSupport :: SecureRandomを使用しますか?あなたは例を挙げることができますか?ありがとう! – AnApprentice
v4のランダムUUID(Universally Unique IDentifier)は、ユニバーサルユニークな番号の大きな名前空間でユニークでユニークなIDを生成してデータベースにIDを生成します。
require 'securerandom'
UUID = SecureRandom.uuid
安全な意味は何ですか?衝突の確率? – Mobbit
'非常に安全な何かを保護するのですか?' o_O –