Wie mit PHP Passwort generieren???

Bash, Shell, PHP, Python, Perl, CGI
Anonymous

Wie mit PHP Passwort generieren???

Post by Anonymous »

Hi und Hallo,

wie kann ich mit PHP ein Passwort generieren, dass nur aus Zahlen und Buchstaben besteht und eine Länge von 8 Zeichen hat?

Wäre klasse, wenn mir jemand so etwas mal posten könnten ;-)

Vielen Dank und noch einen schönen Tag;
Astrid
User avatar
Joe User
Project Manager
Project Manager
Posts: 11176
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Wie mit PHP Passwort generieren???

Post by Joe User »

stefanpropehan
Posts: 335
Joined: 2002-12-17 22:25
Location: Berlin

Re: Wie mit PHP Passwort generieren???

Post by stefanpropehan »

Code: Select all

<?php
 echo substr(md5(time()),0,8);
?>
webfriendz
Posts: 21
Joined: 2003-06-25 11:02
Location: Bernburg

Passwort generieren

Post by webfriendz »

Hallo Astrid,

ich hab hier noch einen kleinen Generator gepostet. Sicher nicht die beste Lösung, aber sie funktioniert wie gewünscht. $pw ist dann gleich mit md5() verschlüsselt, das kann man auch weglassen (sollte man aber nicht).

Code: Select all

$the_char=array(
          "a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q",
		  "r","s","t","u","v","w","x","y","z","1","2","3","4","5","6","7","8", 
          "9","0");
		  
$max_elements = count($the_char) - 1;  
mt_srand(time());   

$c1=$the_char[mt_rand(0,$max_elements)];
$c2=$the_char[mt_rand(0,$max_elements)];
$c3=$the_char[mt_rand(0,$max_elements)];
$c4=$the_char[mt_rand(0,$max_elements)];
$c5=$the_char[mt_rand(0,$max_elements)];
$c6=$the_char[mt_rand(0,$max_elements)];
$c7=$the_char[mt_rand(0,$max_elements)];
$c8=$the_char[mt_rand(0,$max_elements)];

$pw=md5("$c1$c2$c3$c4$c5$c6$c7$c8");
Grüße

--
Robert
adagio
Posts: 96
Joined: 2003-09-22 12:51

Re: Wie mit PHP Passwort generieren???

Post by adagio »

Interessant könnte auch das sein ;)
http://www.adagio-design.de/php/cryptvarianten.php
darkspirit
Posts: 553
Joined: 2002-10-05 16:39
Location: D'dorf

Re: Wie mit PHP Passwort generieren???

Post by darkspirit »

Adagio wrote:Interessant könnte auch das sein ;)
http://www.adagio-design.de/php/cryptvarianten.php
Den Source fände ich interessanter.. ;)
Oder meinst du, jemand verschlüsselt sein neues Passwort auf einer fremden Page?
User avatar
Joe User
Project Manager
Project Manager
Posts: 11176
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Wie mit PHP Passwort generieren???

Post by Joe User »

DarkSpirit wrote:
Adagio wrote:Interessant könnte auch das sein ;)
http://www.adagio-design.de/php/cryptvarianten.php
Den Source fände ich interessanter.. ;)
Oder meinst du, jemand verschlüsselt sein neues Passwort auf einer fremden Page?
Soetwas mache ich nur, wenn ich auch die IP des Systems, auf welchem das PW genutzt wird, angeben muss ;)

SCNR
adagio
Posts: 96
Joined: 2003-09-22 12:51

Re: Wie mit PHP Passwort generieren???

Post by adagio »

Sourcecode, bitte sehr:

Code: Select all

<?php
$text=$_POST['passwort'];
function generatepw($length)
// Erstellt ein zufaelliges Passwort und schickt es zurueck
// Erwartet wird ein Wert (Laenge des Passwortes)
// Ohne l und 1 (sieht zu aehnlich aus)
// 15.08.2002 12:09 Uhr
{
	$pass = "";
	$index = 1;
	while ($index <= $length)
	{
		mt_srand((double)microtime()*1000000);
		$random = mt_rand(0,59);
		$pass .= substr("abcdefghijkmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ023456789", $random, 1);
		$index++;
	}
	return $pass;
}
function makeunique($passlen)
// Schnellere, aber auch einfachere Version eines Passwortgenerators
// Die Zeichen sind willkuerlich, man hat keine Auswahl
// 26.03.2003 - Verbesserte Zufallsfunktion
{
	list($usec, $sec) = explode(' ', microtime());
	mt_srand((float) $sec + ((float) $usec * 100000));
	$rand_string = md5(uniqid(mt_rand(), true));

	$passwort = substr($rand_string,0,$passlen);
	return $passwort;
}
?>
<?php echo "<?xml version="1.0" encoding="iso-8859-1"?".">"; ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Verschiedene Crypt-Varianten von PHP - Version vom 10.10.2002</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
<!--
.fett {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 14px;
	font-weight: bold;
	color: #000000;
}
.normal {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 14px;
	font-weight: normal;
	color: #000000;
}
-->
</style>
</head>

<body>
<span class="normal">Aktuelle Unixzeit: <?php echo time(); ?> / <?php echo date("d.m.y H:i:s",time()); ?><br />
Zufallspasswort: <?php echo generatepw(8); ?><br />
ZufallsID: <?php echo makeunique(32); ?></span><br />

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
  <table border="0" cellspacing="5" cellpadding="0">
  <tr>
		  <td class="fett">Text:</td>
    <td><input name="passwort" type="text" id="passwort" size="50" value="<?php echo $_POST['passwort']; ?>" /></td>
    <td><input type="submit" name="submit" value="Verschl&sseln" /></td>
  </tr>
</table>
</form>
<?php if ($_POST['submit'])
{ ?>
<table border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td bgcolor="#999999"><table width="100%" border="0" cellpadding="5" cellspacing="1">
        <tr bgcolor="#eeeeee">
          <td class="fett">Originaltext:</td>
          <td class="normal"><?php echo $text; ?></td>
        </tr>
        <tr bgcolor="#eeeeee">
          <td class="fett">Crypt:</td>
          <td class="normal"><?php echo crypt($text); ?></td>
        </tr>
        <tr bgcolor="#eeeeee">
          <td valign="top" class="fett">Crypt + Salt:<br />(.htaccess)</td>
          <td valign="top" class="normal"><?php echo crypt($text,CRYPT_STD_DES); ?></td>
        </tr>
        <tr bgcolor="#eeeeee">
          <td class="fett">MD5:</td>
          <td class="normal"><?php echo md5($text); ?></td>
        </tr>
        <tr bgcolor="#eeeeee">
          <td class="fett">CRC32:</td>
          <td class="normal"><?php echo crc32($text); ?></td>
        </tr>
      </table></td>
  </tr>
</table>
<?php } ?>
</body>
</html>