jjzjj

SecureRandom

全部标签

java - SecureRandom 与 NativePRNG 对比 SHA1PRNG

我需要生成加密强随机数和字节数组。为此,我使用Java的SecureRandom类(class)。但我不确定根据加密强度选择哪种PRNG算法。以下哪个实例会产生更不可预测的数字?或者他们是平等的?SecureRandomnativePrng=SecureRandom.getInstance("NativePRNG")SecureRandomsha1Prng=SecureRandom.getInstance("SHA1PRNG")此外,我们可以使用“SUN”提供程序(例如SecureRandom.getInstance("SHA1PRNG","SUN"))生成这些实例。这有什么不同吗?提

java - SecureRandom 与 NativePRNG 对比 SHA1PRNG

我需要生成加密强随机数和字节数组。为此,我使用Java的SecureRandom类(class)。但我不确定根据加密强度选择哪种PRNG算法。以下哪个实例会产生更不可预测的数字?或者他们是平等的?SecureRandomnativePrng=SecureRandom.getInstance("NativePRNG")SecureRandomsha1Prng=SecureRandom.getInstance("SHA1PRNG")此外,我们可以使用“SUN”提供程序(例如SecureRandom.getInstance("SHA1PRNG","SUN"))生成这些实例。这有什么不同吗?提

java - UUID.randomUUID() 与 SecureRandom

我试图了解使用UUID.randomUUID()相对于SecureRandom生成器的优势,因为前者在内部使用securerandom。 最佳答案 嗯,sourcecode显示UUID.randomUUID使用SecureRandom.publicstaticUUID[More...]randomUUID(){SecureRandomng=numberGenerator;if(ng==null){numberGenerator=ng=newSecureRandom();}byte[]randomBytes=newbyte[16];n

ruby - SecureRandom.uuid 与 UUID gem

ruby的SecureRandom.uuid(Ruby1.9.3)和UUIDgem之间有区别吗?UUIDgem是“旧”的做事方式吗?从文档中我了解到,gem更“安全”地成为真正唯一的UUID,而SecureRandom.uuid更像是一个随机字符串,它更有可能不唯一。此外,UUID似乎允许基于文件的持久性来协助解决此问题。所以我希望听到一些比我对此更有见识的人的意见。 最佳答案 有几种生成UUID的方法。维基百科很好地列出了它们。http://en.wikipedia.org/wiki/Universally_unique_iden

android - 在 Android 中选择 random 或 urandom 作为 SecureRandom 的来源

我如何选择random或urandom作为Android中SecureRandom类的随机源? 最佳答案 别担心。Bydefault,instancesof[SecureRandom]willgenerateaninitialseedusinganinternalentropysource,suchas/dev/urandom.http://developer.android.com/reference/java/security/SecureRandom.html 关于android-

android - SecureRandom 提供程序 "Crypto"在 Android N 中无法确定地生成 key

用户可以购买我的应用程序的“专业版”。当他们这样做时,我会按如下方式存储和验证他们的购买。将用户的UUID和另一个唯一字符串组合起来。然后使用静态种子对生成的字符串进行加密。我使用SecureRandom.getInstance("SHA1PRNG","Crypto")-这就是问题所在!生成的加密字符串就是“解锁码”。因此,我总是知道预期用户的唯一解锁代码值。当用户购买“Pro”时,我将“解锁码”存储在数据库中。我通过查看数据库中存储的“解锁代码”是否与基于他们的独特信息的预期代码匹配来检查用户是否拥有“Pro”。所以,这不是最好的系统,但对于我不起眼的应用程序来说,一切都足够混淆了。

java - SecureRandom.ints() 安全吗?

众所周知,SecureRandom类为生成的随机数提供了强大的加密安全性。java.util.Random对于需要加密安全的情况是不安全的。SecureRandom的典型用法是:SecureRandomrandom=newSecureRandom();bytebytes[]=newbyte[20];random.nextBytes(bytes);不过,我遇到了一个案例:SecureRandomrandom=newSecureRandom();intnumber=random.ints();ints()方法继承自java.util.Random类。当安全随机数生成器SecureRando

java - SecureRandom 线程安全吗?

SecureRandom线程安全吗?也就是初始化之后,能否依赖对下一个随机数的访问是线程安全的?检查源代码似乎表明它是,thisbugreport似乎表明它缺乏作为线程安全的文档是一个javadoc问题。有没有人确认它实际上是线程安全的? 最佳答案 是的,是的。它扩展了Random,它总是有一个defacto线程安全实现,并且来自Java7,explicitlyguaranteesthreadsafety.如果多个线程使用单个SecureRandom,则可能会出现争用而损害性能。另一方面,初始化SecureRandom实例可能相对较

ruby-on-rails - ActiveSupport::SecureRandom.hex 问题? Rails 和 ruby

我对ActiveSupport::SecureRandom类\库有疑问。http://apidock.com/rails/ActiveSupport/SecureRandom我正在编写一个可能需要一些随机标记的应用程序,例如由SecureRandom生成的标记。这些代币的唯一性如何?这些token在本质上是唯一的还是我应该在我的数据库列上使用唯一约束更好?谢谢! 最佳答案 请注意您链接的页面,该页面表示此模块在接口(interface)(和实现,至少在一个特定版本的情况下)与http://rubydoc.info/stdlib/se

ruby - Ruby 中 SecureRandom.urlsafe_base64(8) 的碰撞概率?

我正在使用SecureRandom.urlsafe_base64(8)以便在我的系统中创建URL安全的唯一ID。我想知道如何计算碰撞的概率?我将大约10.000个这些ID插入到一个数组中,我想避免检查其中一个键是否已经在数组中,但我也想确保它们不会重复?机会有多大? 最佳答案 这个概率有一个很好的近似值(与birthdayproblem相关)。如果有k个潜在值,n被采样,碰撞概率为:k!/(k^n*(k-n)!)base64方法返回一个由输入的随机字节数构建的base64字符串,而不是该随机数字数。八个随机字节给我们k=256^8,