OpenSSL是用于安全相关工作的强大库和工具集。在谈到安全性时,我们不能否认密码和随机数是重要的课题。在本教程中,我们将学习如何使用OpenSSL生成随机数和密码。
null
生成Base64随机数
Base64是应用程序和不同系统中使用的一种编码格式,可以毫无问题地进行传输和使用。Base64不提供控制字符。我们可以用 openssl rand
. 这里我们设置字符计数 10
这是最后一个参数。
$ openssl rand -base64 10

生成十六进制随机数
十六进制是一种基于 16
. 我们可以用 -hex
选项。在本例中,我们将生成20个字符的随机十六进制数。
$ openssl rand -hex 20

写入文件
的默认行为 rand
正在将生成的随机数写入终端。如果我们需要很多数字 256
候机楼会乱七八糟的。我们可以选择写生成的随机数。我们将使用 -out
选项和文件名。在本例中,我们将编写一个名为 myrand.txt
$ openssl rand -out myrand.txt -hex 20
使用发动机或硬件进行试验
安全专家将随机数发生器分为两类。
-
Truly Random Number Generator (TRNG)
其中生成的数字是真正随机的,通常使用特殊的硬件。 -
Psedeu Random Number Generator (PRNG)
生成的数字不是真正随机的,而是接近随机的。这种类型不需要特殊的硬件和操作系统,比如Linux、Windows和OpenSSL默认使用这种类型。
相关文章: Linux下dd命令的备份实例
如果我们有特殊的加密硬件或TRNG引擎,我们可以将其与OpenSSL结合使用来生成随机数TRNG。我们将使用 -engine
选项和设备路径。如果我们的设备位于 /dev/crypt0
我们可以使用以下命令
$ openssl rand -engine /dev/crypt0 -hex 20
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END