read /dev/urandom 3
Ce qui précède ne fonctionne pas Comment puis-je lire des octets aléatoires à partir de /dev/urandom
dans bash ?
read /dev/urandom 3
Ce qui précède ne fonctionne pas Comment puis-je lire des octets aléatoires à partir de /dev/urandom
dans bash ?
head -c 500 /dev/urandom | tr -dc 'a-zA-Z0-9~!@#$%^&*_-' | fold -w 3 | head -n 1
(Si vous voulez des caractères tirets littéraux, le caractère tiret doit être placé à la fin de la chaîne comme indiqué ci-dessus, par opposition à *-_
).
Et d'expliquer ce qui est fait grâce à l'ensemble des commandes ci-dessus :
head -c 500 /dev/urandom
: Obtenir les 500 premiers caractères (octets) à partir de /dev/urandom
.tr -dc 'a-zA-Z0-9~!@#$%^&*_-'
: Supprimer tout sauf les caractères spécifiés dans 'a-zA-Z0-9~!@#$%^&*_-'
à partir de la sortie de la première commande.fold -w 3
: Formatez la sortie de la deuxième commande de manière à ce qu'elle comporte 3 caractères par ligne.head -n 1
: Afficher la première ligne du résultat de la troisième commande sur stdout
.En voici un qui crée des chaînes base64, notez que même s'ils sont limités à des chaînes base64, le remplissage est supprimé de celles-ci, donc vous ne pouvez pas les décoder, vous n'en aurez probablement pas besoin de toute façon.
cat /dev/urandom | base64 | head -c 5
Remplacer 5
avec le nombre de caractères que vous souhaitez.
Si toutefois vous avez besoin de les décoder pour une raison quelconque, déplacez base64
à l'extrémité du tuyau. Il collectera alors 5 caractères d'urandom et les encodera en base64 avec le bon remplissage, mais la chaîne finale peut être plus longue que ce que vous vouliez à cause du remplissage.
cat /dev/urandom | head -c 5 | base64
SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.