我需要生成一个大的随机字符串,以在perl中加密一些密码。我现在用来加密的密钥是从Gibson Research Corp网站生成的。他们本来是我可以测试的占位符。现在,我希望做一些最终的决定。
我希望密钥是包含在文件中的某种类的东西,例如SSL证书,但不会那么长,现在我正在使用64位密钥进行测试,我认为1024位密钥会有点过大,此密钥是永远不会在互联网上看到的,只是或多或少地从“伪造”的眼睛加密我的配置文件中的密码。之所以将其保存在某种文件中,是因为加密器可以读取它,解密器也可以读取,并且它们将使用相同的密钥保持同步,而不必将密钥复制并粘贴到每个脚本中,因此拥有一个用户错误的机会。
使用Perl十六进制函数,可以将十进制数转换为十六进制数。
这是一个创建32个随机十六进制数字字符串的代码段:
my $rand_hex = join "", map { unpack "H*", chr(rand(256)) } 1..16;
Run Code Online (Sandbox Code Playgroud)
这是生成32个随机十六进制数字的另一种更简单的方法:
use Digest::MD5 qw(md5_hex);
my $rand_hex2 = md5_hex(rand);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2243 次 |
| 最近记录: |