为什么SecureRandom #hex方法加倍其长度参数n?

时间:2013-02-24 04:19:37

标签: ruby

我尝试在rails应用程序的ruby中为密码生成salt时遇到了这个函数。为什么它会使长度参数加倍/坚持返回的字符串长度是多少?

1 个答案:

答案 0 :(得分:6)

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

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