#!/bin/bash
seed1=0
seed2=0
while [[ "$seed1" == 0 || "$seed2" == 0 ]]; do
seed1=$(head -c 4096 /dev/urandom | tr -dc '0-9' | fold -w 16 | head -n 1)
seed2=$(head -c 4096 /dev/urandom | tr -dc '0-9' | fold -w 16 | head -n 1)
done
seed_array=($seed1 $seed2)
seed_array=($(echo ${seed_array[*]}| tr " " "\n" | sort -n))
salt_num=[some function id rather not reveal] < /dev/urandom
echo $(echo [seed and salt go here in some order id rather not say] | sha256sum | awk '{print $1}')
我正在为我想要放在一起的其他东西创造种子和盐,这是一个肮脏的版本。现在,我喜欢它开始工作的方式,因为我在这里得到了很多非常好的随机性。但我需要在这里争取最高的熵。我认为urandom是这项工作的工具,但在我从中拉出4k项后,我不知道我对tr -dc '0-9'
的感受。它使得我必须折叠16而不是32,这是我更喜欢的。因为有时候,没有足够的数字可供选择。
要明确,我想实现以下约束:
就像我之前说过的那样,tr -dc '0-9'
只是觉得草率。如果可能的话,有没有办法增加我从urandom中使用的字节数(目前基本上只是过滤掉任何不是int的东西)。
它有效,但我觉得必须有更好的方法。有一双新鲜眼睛的人会看到我失踪的东西吗?
答案 0 :(得分:1)
如何在PHP Recoverable fatal error:
Object of class stdClass could not be converted to string in this line
$header .= mysqli_fetch_field_direct($export,$i) . "\t";
和| od -An -tx8
之间添加head
以将输出转换为十六进制,以便更有可能发生0-9。