Une page dans votre Wiki a été ajoutée ou modifiée. Voici les détails : Date : 2007/01/27 16:33 Navigateur : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8.1.1) Gecko/20061205 Iceweasel/2.0.0.1 (Debian-2.0.0.1+dfsg-2) Adresse IP : 81.57.183.131 Nom d'hôte : lon92-1-81-57-183-131.fbx.proxad.net Ancienne révision : none Nouvelle révision : http://cli.asyd.net/home/scripts/exemples/makepasswd Résumé : créée Utilisateur : asyd ======makepasswd.pl====== =====Description===== Ce script génère un mot de passe aléatoire et l'affiche en plaintext aussi bien qu'au format crypt en générant un salt. Les caractères utilisés pour composer le mot de passe sont facilement configurables. Si un argument est fourni à l'appel du script, il sera utilisé comme mot de passe. J'ai écris ce script pour générer les mots de passe pour mes utilisateurs LDAP. Il a l'avantage (actuel) de ne requérir aucun module non upstream. =====Code===== <code perl> #!/usr/bin/perl # make a random or given password using crypt (salt, password) # Bruno Bonfils, <asyd@debian-fr.org> # (c) 2003 # # TODO : use internal perl function instead generatestring use strict; sub GenerateString { my ($len) = @_; my $validstr = '0123456789abcdefghijklmnopqrstuvwxyz,/%'; my @valid = split(//,$validstr); my ($in, $out); open (F, "</dev/urandom") || die "No /dev/urandom found!"; foreach (1..$len) { read(F, $in, 1); $out .= $valid[ord($in) % ($#valid + 1)]; } close F; return $out; } my $pass; my $salt; if(defined($ARGV[0])) { $pass = $ARGV[0]; } else { $pass = GenerateString(8); } if (defined ($ARGV[1])) { $salt = $ARGV[1]; } else { $salt = GenerateString(2); } print "clear: $pass\n"; print "crypt: " . crypt($pass, $salt) . "\n"; </code> =====Exemples===== <code> % ./makepasswd.pl clear: csjrvzgo crypt: 7,oZpHQ.B9NT2 </code> <code> % ./makepasswd.pl csjrvzgo clear: csjrvzgo crypt: zflMdLrO5M4wk </code> =====TODO===== * AJouter d'autre algorithmes comme MD5, SHA1 -- Ce message a été généré par DokuWiki http://cli.asyd.net/home/