保障安全:生成随机数、创建密码与安全存储的实用指南
1. 生成真正的随机数
在安全领域,优质的随机数至关重要。因为密钥和初始化向量越随机,安全性就越高。然而,在确定性的机器上,很难找到真正的随机数。常见的 rand() 函数只是伪随机数生成器(PNG),生成的数字看似随机,实则并非如此。真正的随机性只存在于自然界,如大气噪声、放射性衰变或熔岩灯中。
1.1 准备工作
安装 realrand 宝石:
$ gem install realrand
1.2 解决方案
一些开发者已将真正的随机源连接到计算机,并将数据作为网络服务提供。 realrand 库隐藏了三个最流行服务的细节:
- RANDOM.ORG :从大气噪声中生成真正的随机数。
- HotBits :通过连接到计算机的盖革计数器检测连续的放射性衰变对来创建真正的随机数。
- EntropyPool :使用各种真正随机噪声源,包括本地进程、文件、设备和远程网站。
以下是使用 realrand 的示例代码:
require 'rubygems'
require 'random/online'
include Random
[Ra
超级会员免费看
订阅专栏 解锁全文
3

被折叠的 条评论
为什么被折叠?



