随机标识符:安全VS唯一。选择什么?

时间:2017-01-30 14:23:04

标签: perl random

有些时候,当我们想要识别某些内容时,我们会为此对象生成IDentifier。

有时我们只使用rand,有时我们想要更可靠的东西。目前我介于:

  1. Data::UUID
  2. Crypt::PRNG
  3. 这两种方法的结果会有什么不同吗?

    $id = Data::UUID->new->create_bin;    #
    $id = Crypt::PRNG::random_bytes(16);  # https://metacpan.org/pod/Crypt::PRNG#random_bytes
    

    两者都是随机的16字节。无论界面是否存在进一步的差异?

    UPD
    在我的情况下,我使用ID作为随机字符串来标识Stripe

    的查询

1 个答案:

答案 0 :(得分:2)

这取决于它的用途。

如果它用于识别您的变量名称,则它必须是唯一的。

例如,如果两个人共享相同的会话ID,他们将共享同一个会话。

例如,如果两个人共享相同的临时文件名,则他们将共享同一个文件。

这是一个加密密钥,你希望它是随机的,因此它具有最多的熵。