Re: gnome-password-generator replacement?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 19 Jun 2017 07:37:35 +0200
Heinz Diehl <htd+ml@xxxxxxxxxx> wrote:

> Pwgen uses /dev/urandom, so the statement that those passwords are
> less secure than "fully" random passwords (define "fully random"..) is
> merely of academical nature.
> 
> In case of any doubt, you can always do something like
> 
>  head /dev/random | tr -dc A-Za-z0-9 | head -c X
> 
> where X is your password length. Tr also lets you tailor the
> characterset used.

Here's my shell hack to generate passwords using the above.  It saves
the passwords in the file devurandom_password.txt in the home directory.

#! /bin/bash

#  generate a password using a character set, /dev/urandom,
#  and tr to select the characters included.
#  The three arguments are 
#  the character class to use to generate the password  (default alnum)
#  and
#  the length of the password (default 20)
#  and
#  the number of passwords to generate (default 10)

DPW=/home/$USER/devurandom_password.txt

if [ "$#" = 0 ]; then
  set an 20 10
elif [ "$#" = 1 ]; then
  set $1 20 10
elif [ "$#" = 2 ]; then
  set $1 $2 10
fi

echo "Passwords from /dev/urandom with $1" > $DPW
echo '' >> $DPW


for ((x = 0 ; x < $3 ; x = x + 1)) ; do
  if    [	"$1" = an ]; then
    echo $(head /dev/random | tr -dc [:alnum:] | head -c $2) >> $DPW
    echo '' >> $DPW
  elif    [	"$1" = al ]; then
    echo $(head /dev/random | tr -dc [:alpha:] | head -c $2) >> $DPW
    echo '' >> $DPW
  elif    [	"$1" = cn ]; then
    echo $(head /dev/random | tr -dc [:cntrl:] | head -c $2) >> $DPW
    echo '' >> $DPW
  elif    [	"$1" = di ]; then
    echo $(head /dev/random | tr -dc [:digit:] | head -c $2) >> $DPW
    echo '' >> $DPW
  elif    [	"$1" = gr ]; then
    echo $(head /dev/random | tr -dc [:graph:] | head -c $2) >> $DPW
    echo '' >> $DPW
  elif    [	"$1" = lo ]; then
    echo $(head /dev/random | tr -dc [:lower:] | head -c $2) >> $DPW
    echo '' >> $DPW
  elif    [	"$1" = pr ]; then
    echo $(head /dev/random | tr -dc [:print:] | head -c $2) >> $DPW
    echo '' >> $DPW
  elif    [	"$1" = pu ]; then
    echo $(head /dev/random | tr -dc [:punct:] | head -c $2) >> $DPW
    echo '' >> $DPW
  elif    [	"$1" = sp ]; then
    echo $(head /dev/random | tr -dc [:space:] | head -c $2) >> $DPW
    echo '' >> $DPW
  elif    [	"$1" = up ]; then
    echo $(head /dev/random | tr -dc [:upper:] | head -c $2) >> $DPW
    echo '' >> $DPW
  elif    [	"$1" = xd ]; then
    echo $(head /dev/random | tr -dc [:xdigit:] | head -c $2) >> $DPW
    echo '' >> $DPW
  else
    echo $(head /dev/random | tr -dc [:alnum:] | head -c $2) >> $DPW
    echo '' >> $DPW
  fi ;
done

exit 0 ;
_______________________________________________
users mailing list -- users@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to users-leave@xxxxxxxxxxxxxxxxxxxxxxx



[Index of Archives]     [Older Fedora Users]     [Fedora Announce]     [Fedora Package Announce]     [EPEL Announce]     [EPEL Devel]     [Fedora Magazine]     [Fedora Summer Coding]     [Fedora Laptop]     [Fedora Cloud]     [Fedora Advisory Board]     [Fedora Education]     [Fedora Security]     [Fedora Scitech]     [Fedora Robotics]     [Fedora Infrastructure]     [Fedora Websites]     [Anaconda Devel]     [Fedora Devel Java]     [Fedora Desktop]     [Fedora Fonts]     [Fedora Marketing]     [Fedora Management Tools]     [Fedora Mentors]     [Fedora Package Review]     [Fedora R Devel]     [Fedora PHP Devel]     [Kickstart]     [Fedora Music]     [Fedora Packaging]     [Fedora SELinux]     [Fedora Legal]     [Fedora Kernel]     [Fedora OCaml]     [Coolkey]     [Virtualization Tools]     [ET Management Tools]     [Yum Users]     [Yosemite News]     [Gnome Users]     [KDE Users]     [Fedora Art]     [Fedora Docs]     [Fedora Sparc]     [Libvirt Users]     [Fedora ARM]

  Powered by Linux