Statistic of password generators
BEGIN { bytes = 0 }
{
n=length($0)
for(i=1; i<=n; i++)
A[substr($0,i,1)]++
bytes+=n
}
END {
n = 0
med = 0
print bytes, "bytes"
for(i in A)
{
med+=A[i]
n++
}
print n, "chars"
med/=n
print "average frequency =", med
var = 0;
for(i in A)
var+=(A[i]-med)^2/n
print "variance =", var
print "std. dev =", sqrt(var)
}
base64-encoded random values
bash$ (base64-encode < /dev/urandom | tr -d +/\\n | \
head -c "${1:-8000}" 2> /dev/null ; echo) | awk -f stat
8000 bytes
62 chars
average frequency = 129.032
variance = 108.354
passwords generated with pwgen
bash$ pwgen -c -n 8 1000|awk -f stat
8000 bytes
56 chars
average frequency = 142.857
variance = 38521.9