Security 合并两个随机数以创建更大的随机数是否被视为良好做法?

Security 合并两个随机数以创建更大的随机数是否被视为良好做法?,security,random,Security,Random,假设我有一个函数,可以生成不同长度的随机数。所以我可以生成一个会话ID,它有32位长,也有512位长 但我想知道,如果我将16个32位随机生成的ID组合起来创建一个512位的ID,会对安全造成什么影响。安全性是否等同于直接从算法生成512位id,还是级联相同 我在PHP中使用mt_crypt或openssl随机函数。假设您使用的随机生成器没有任何损坏,那么在一次调用中生成512位随机数据,或者通过组合16位32位随机生成的id,都无所谓 在这两种情况下,结果都是512位的随机数据,具有相当的安全

假设我有一个函数,可以生成不同长度的随机数。所以我可以生成一个会话ID,它有32位长,也有512位长

但我想知道,如果我将16个32位随机生成的ID组合起来创建一个512位的ID,会对安全造成什么影响。安全性是否等同于直接从算法生成512位id,还是级联相同


我在PHP中使用mt_crypt或openssl随机函数。

假设您使用的随机生成器没有任何损坏,那么在一次调用中生成512位随机数据,或者通过组合16位32位随机生成的id,都无所谓


在这两种情况下,结果都是512位的随机数据,具有相当的安全性。

我想这取决于算法。我敢打赌,如果添加随机数的随机字符串,结果会更随机。这里的理由是什么?好奇?如果你的源代码实际上是加密安全的随机性,这应该是完全可以的。我实际上没有一个算法可以生成长度不超过2048或4096的字符串。我最多只能生成128个。所以我想知道这是否安全。我正在PHP中使用mt_crypt或openssl随机函数。@rosscowar我不理解你的评论。你是否建议我使用某种算法将较小的数字混合起来,创建一个较大的随机数?前提是ID没有结构,即它们是真正的32个随机位。