4

尝试在 ruby​​ on rails 应用程序中为密码生成盐时,我遇到了 SecureRandom#hex 方法。为什么它将长度参数加倍/坚持返回的字符串长度是偶数?

4

1 回答 1

8

该方法生成一个n字节的随机序列(参见random_bytes方法),然后返回该序列的 base-16 表示(每个字节有两个十六进制数字)。

这也是base64andurlsafe_base64方法返回长度大约为 4 n /3 的字符串的原因:它们生成n个字节,然后执行 Base-64 编码。

于 2013-02-24T04:28:49.687 回答