Въпрос за md5 показване ...

niki966

Registered
Направих си форма в която да едитвам паролата но гогато напиша да се покаже паролата не се показва 1234 с 4 звездички така ****

ами направо показва паролата която е кодирана с мд5 от базата дани с

************** . как мога да направа да я показва 1234 тоест да я разкодира и да я показва колкоот е истинската парола а не кодираната . ето формата която ползвам .

вашата парола: <input name="id" type="password" size="40" maxlength="255" value="<? echo $password; ?>">
 
а ако махна мд5 ще се показва както са я въвели ? и ще им е по лесно ли да я хакнат тази парола ? като не е с мд5 кодирофка ? аз не използвам cookies а с сеси .
 
niki966 каза:
а ако махна мд5 ще се показва както са я въвели ? и ще им е по лесно ли да я хакнат тази парола ? като не е с мд5 кодирофка ? аз не използвам cookies а с сеси .

мда не е добра идея директно да се записва паролата :-) ето една функция която кодира и декодира със ключ зададен от теб :-)

Код:
<?php

  function bytexor($a,$b,$l)
  {
    $c="";
    for($i=0;$i<$l;$i++) {
      $c.=$a{$i}^$b{$i};
    }
    return($c);
  }

  function binmd5($val)
  {
    return(pack("H*",md5($val)));
  }

  function decrypt_md5($msg,$heslo)
  {
    $key=$heslo;$sifra="";
    $key1=binmd5($key);
    while($msg) {
      $m=substr($msg,0,16);
      $msg=substr($msg,16);
      $sifra.=$m=bytexor($m,$key1,16);
      $key1=binmd5($key.$key1.$m);
    }
    echo "\n";
    return($sifra);
  }

  function crypt_md5($msg,$heslo)
  {
    $key=$heslo;$sifra="";
    $key1=binmd5($key);
    while($msg) {
      $m=substr($msg,0,16);
      $msg=substr($msg,16);
      $sifra.=bytexor($m,$key1,16);
      $key1=binmd5($key.$key1.$m);
    }
    echo "\n";
    return($sifra);
  }

// Example of usage...

$message = "This is a very long message, but it is very secret and important 
and we need to keep the contents hidden from nasty people who might want to steal it.";

$key = "secret key";

$crypted = crypt_md5($message, $key);
echo "Encoded = $crypted<BR>"; // returns ??`??”H ?뇻.?1?{諾ɑђJޖ?+߳j?eμbr /> 
$uncrypted = decrypt_md5($crypted, $key);
echo "Unencoded = $uncrypted"; // returns This is a very long message (etc)

?>

след // Example of usage... е пример как се ползва :-) $key = "secret key"; е ключа който ти си задаваш. може да бъде какъвто искаш.
 
и в моя код заменам само мд5 с crypt_md5 и ко записва в базата адни кодирано ? И когато искам да го раскодирам копирам целия код в фаила наи вероятно наи от горе ще го сложа и слагам вместо мд5- decrypt_md5.

но това ще е за UPDATE а нещо още немога да се оправа с този код да работи ...
 
niki966 каза:
...аз не използвам cookies а с сеси .
niki966, само да вметна, че сесите са базирани на cookies, така, че е почти все тая дали използваш кукита или сесии. Извинявам се за спама.
 

Back
Горе