Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: PHP: Salasanakrypteri

thuge94 [18.06.2005 20:05:06]

#

Kryptaa käyttäjän antaman salasaman md5-muotoon ja tulostaa kryptatun salasanan. Ladattava versio osoitteessa: http://jk.wtf.la/tscripts/kryptaa_salasana.zip
Testasin scriptin php 5.0.4-versiolla.

kryptaa.php

<b>Kryptaa salasana</b><br><form action="kryptaa.php?toim=show" method="post">Anna kryptattava salasana:<input type=text name="kryptattava" maxlength="20"><input type=submit value="kryptaa"></form><br>
<?php
// Jos kryptattavaa salasanaa ei ole annettu, ei näytetä mitään
if(empty($kryptattava)) {
echo "";
// mutta jos salasana on annettu, näytetään tulos
}
else
{
if($toim == "show") {
// Haetaan käyttäjän antama salasana $_POST-taulukkoon
$kryptattava = $_POST['kryptattava'];
// Muutetaan käyttäjän antama salasana md5-muotoon
$tulos = md5($kryptattava);
// Tulostetaan tiedot
echo "<p>Kirjoitit salasanan: ".$kryptattava."<br>Salasana kryptattuna: ".$tulos."</p>";
}
}
?>

pwc [18.06.2005 21:06:11]

#

Totanoin. Mitä tarkoitusta tuolla ensimmäisellä if-lauseella on? Ja "echo "";" - ei anna kovin järkevää kuvaa tästä skriptistä. Sanoisin, ettei tänne tarvitse laittaa aina kaikkea minkä on juuri oppinut. Olisit nyt edes kehitellyt oman kryptaus- tai hashausmenetelmän ;)

temu92 [18.06.2005 21:52:02]

#

turha

ajv [19.06.2005 12:55:51]

#

Idea OK, mutta toteutuksesi on huono. Tässä oma versioni ko. ideasta.

<h2>Salasanahash</h2>
<p>
  <form action="<?php echo $_SERVER['REQUEST_URI'] ?>" method="post" />
   Salasana:<br />
   <input type="password" name="passu" /><br />
   Salasana uudestaan:<br />
   <input type="password" name="tarkistus" /><br />
   <input type="submit" value="Sotke">
  </form>
</p>
<?php
if(isset($_POST['passu']) && isset($_POST['tarkistus'])){

   // avaathan tietokantayhteyden jos haluat mysql-passwordin
   $result = mysql_query("SELECT PASSWORD('".mysql_real_escape_string($_POST['passu'])."')");
   list($mysql_pwd) = mysql_fetch_row($result);

   echo '<p>';
   if($_POST['passu'] != $_POST['tarkistus']) echo "<b>Varoitus: </b>salasanat eivät täsmänneet!<br />";
   echo "md5-hash: <b>". md5($_POST['passu'])."</b><br />";
   echo "sha1-hash: <b>".sha1($_POST['passu'])."</b><br />";
   echo "UNIX-CRYPT: <b>".crypt($_POST['passu'])."</b><br />";
   echo "MySQL PASSWORD: <b>".$mysql_pwd."</b>";
   echo '</p>';
}
?>

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta