Vinnaren i pepparkakshustävlingen!
  • 1
  • 2
2023-06-15, 17:15
  #13
Medlem
frdks avatar
Citat:
Ursprungligen postat av Enterprise
De som renderar längst hash?

Glöm inte salta maten! Före, under och efter
Citera
2023-06-16, 07:49
  #14
Medlem
PalmeKillers avatar
Men det där fungera väldig sporadisk

Gjorde ett liknade script

Kod:
<?php

$inPassword 
"FlashBackRules";

$HPassword1 "$2y$10$QTh2/kupvLOH.bMxXVPWau0NabdpMBwSHOe6Jrl75EyU5olskYUQK";
$HPassword2 "$2y$10$NzR.cmyV6oHlBqzN78uvOO8GjHmwEyXGfRkx/mFLLfUBYhzS/gE0C";
$HPassword3 "$2y$10$A.KVa.0e1Wr00c3UMPfnv.Fo8P/W6v24nlqt0BzxElgzhzGzjwkcS";
$HPassword4 "$2y$10$bA8E1ePVFRfCxphk1Jetz.R8QXMf02IvZ/3WjyMtgh6WrX58Hr3Xu";

$Password1 password_hash$inPassword ,PASSWORD_DEFAULT );
$Password2 hash("sha512"$inPasswordFALSE);
print 
"\n\n";
print 
"\n Password hash : ".$Password1;
print 
"\n Sha512 Password : "$Password2;
print  
"\n Check password : ".password_verify$inPassword$Password1);
print  
"\n Check password 1 : ".password_verify$inPassword$HPassword1);
print  
"\n Check password 2 : ".password_verify$inPassword$HPassword2);
print  
"\n Check password 3 : ".password_verify$inPassword$HPassword3);
print  
"\n Check password 4 : ".password_verify$inPassword$HPassword4);
print 
"\n\n";

?>

Password_verify tycker inte dom haschade strängarna är ok .


Citat:
Ursprungligen postat av deusx.machina
password_hash() genererar inte ett lösenord. den tar ditt lösenord du sänder in, lägger på ett salt och generar en hash.
Den hashen måste du spara, och när användaren nästa gång sänder in sitt lösenord jämför du det som sänds in mot hashen du har lagrat (i din databas tex) med password_verify().

ex:
Kod:
<?php
$hash 
password_hash("rasmuslerdorf"PASSWORD_DEFAULT);
echo 
"first hash: " $hash "\n"

if (
password_verify("rasmuslerdorf"$hash)){
    echo 
"Valid password\n";
} else {
    echo 
"Invalid password\n";
}

$hash password_hash("rasmuslerdorf"PASSWORD_DEFAULT);
echo 
"second hash: " $hash "\n"

if (
password_verify("rasmuslerdorf"$hash)){
    echo 
"Valid password\n";
} else {
    echo 
"Invalid password\n";
}

echo 
"and now an invalid password:\n";
if (
password_verify("rasmuslerdorf1"$hash)){
    echo 
"Valid password\n";
} else {
    echo 
"Invalid password\n";
}


?>

Output:
Kod:
first hash: $2y$10$Fus.hpwnOlSc.2kSPhVOuurpDqbC5TJYDemcp/LEs3DGCrYpWoY2m
Valid password
second hash: $2y$10$/gGIWnMClFyx5vRYTcFlIuBlG64hsXHxB7AnWDPKK1dnDtMrPDkA.
Valid password
and now an invalid password:
Invalid password
Citera
2023-06-16, 09:31
  #15
Medlem
Citat:
Ursprungligen postat av PalmeKiller
Men det där fungera väldig sporadisk

Gjorde ett liknade script

Kod:
<?php

$inPassword 
"FlashBackRules";

$HPassword1 "$2y$10$QTh2/kupvLOH.bMxXVPWau0NabdpMBwSHOe6Jrl75EyU5olskYUQK";
$HPassword2 "$2y$10$NzR.cmyV6oHlBqzN78uvOO8GjHmwEyXGfRkx/mFLLfUBYhzS/gE0C";
$HPassword3 "$2y$10$A.KVa.0e1Wr00c3UMPfnv.Fo8P/W6v24nlqt0BzxElgzhzGzjwkcS";
$HPassword4 "$2y$10$bA8E1ePVFRfCxphk1Jetz.R8QXMf02IvZ/3WjyMtgh6WrX58Hr3Xu";

$Password1 password_hash$inPassword ,PASSWORD_DEFAULT );
$Password2 hash("sha512"$inPasswordFALSE);
print 
"\n\n";
print 
"\n Password hash : ".$Password1;
print 
"\n Sha512 Password : "$Password2;
print  
"\n Check password : ".password_verify$inPassword$Password1);
print  
"\n Check password 1 : ".password_verify$inPassword$HPassword1);
print  
"\n Check password 2 : ".password_verify$inPassword$HPassword2);
print  
"\n Check password 3 : ".password_verify$inPassword$HPassword3);
print  
"\n Check password 4 : ".password_verify$inPassword$HPassword4);
print 
"\n\n";

?>

Password_verify tycker inte dom haschade strängarna är ok .

Vad är det som inte funkar för dig? Det verkar funka som det ska när jag testar det.

Kod:
<?php

$inPassword 
"FlashBackRules";

$HPassword1 '$2y$10$QTh2/kupvLOH.bMxXVPWau0NabdpMBwSHOe6Jrl75EyU5olskYUQK';
$HPassword2 '$2y$10$NzR.cmyV6oHlBqzN78uvOO8GjHmwEyXGfRkx/mFLLfUBYhzS/gE0C';
$HPassword3 '$2y$10$A.KVa.0e1Wr00c3UMPfnv.Fo8P/W6v24nlqt0BzxElgzhzGzjwkcS';
$HPassword4 '$2y$10$bA8E1ePVFRfCxphk1Jetz.R8QXMf02IvZ/3WjyMtgh6WrX58Hr3Xu';

$Password1 password_hash$inPassword ,PASSWORD_DEFAULT );
$Password2 hash("sha512"$inPasswordFALSE);
print 
"\n\n";
print 
"\n Password hash : ".$Password1;
print 
"\n Sha512 Password : "$Password2;
print  
"\n Check password : ".(password_verify$inPassword$Password1) ? 'true' 'false');
print  
"\n Check password 1 : ".(password_verify"somethingElse"$HPassword1) ? 'true' 'false');
print  
"\n Check password 2 : ".(password_verify$inPassword$HPassword2) ? 'true' 'false');
print  
"\n Check password 3 : ".(password_verify$inPassword$HPassword3) ? 'true' 'false');
print  
"\n Check password 4 : ".(password_verify$inPassword$HPassword4) ? 'true' 'false');
print 
"\n\n";
?>

Ger output
Kod:
 Password hash : $2y$10$bbJ6roLe5PQXeUuA7XYOL.5rI8AjA3.QBL/vDml1oqq5DcJMvQMY6
 Sha512 Password : 2fb0fa5f72d8c32b208efd8efd85aa07a441eae709be9136652e18fa827ddc3e5f8133bcf909b4b890ad7ad06edb068d6ee1  91d2d290ebe91f90a4c1dfbb2ed3
 Check password : true
 Check password 1 : false
 Check password 2 : true
 Check password 3 : true
 Check password 4 : true

2 saker:
1. Du får använda ' istället för " på dina password hashar eftersom de innehåller $
2. print konverterar true till 1 och false till blankt, så därför la jag på explicit vad den skal skriva vid true och false
Citera
2023-06-16, 11:29
  #16
Medlem
PalmeKillers avatar
Tack!... " <-- är troligen felet, istället för '


Citat:
Ursprungligen postat av deusx.machina
Vad är det som inte funkar för dig? Det verkar funka som det ska när jag testar det.

Kod:
<?php

$inPassword 
"FlashBackRules";

$HPassword1 '$2y$10$QTh2/kupvLOH.bMxXVPWau0NabdpMBwSHOe6Jrl75EyU5olskYUQK';
$HPassword2 '$2y$10$NzR.cmyV6oHlBqzN78uvOO8GjHmwEyXGfRkx/mFLLfUBYhzS/gE0C';
$HPassword3 '$2y$10$A.KVa.0e1Wr00c3UMPfnv.Fo8P/W6v24nlqt0BzxElgzhzGzjwkcS';
$HPassword4 '$2y$10$bA8E1ePVFRfCxphk1Jetz.R8QXMf02IvZ/3WjyMtgh6WrX58Hr3Xu';

$Password1 password_hash$inPassword ,PASSWORD_DEFAULT );
$Password2 hash("sha512"$inPasswordFALSE);
print 
"\n\n";
print 
"\n Password hash : ".$Password1;
print 
"\n Sha512 Password : "$Password2;
print  
"\n Check password : ".(password_verify$inPassword$Password1) ? 'true' 'false');
print  
"\n Check password 1 : ".(password_verify"somethingElse"$HPassword1) ? 'true' 'false');
print  
"\n Check password 2 : ".(password_verify$inPassword$HPassword2) ? 'true' 'false');
print  
"\n Check password 3 : ".(password_verify$inPassword$HPassword3) ? 'true' 'false');
print  
"\n Check password 4 : ".(password_verify$inPassword$HPassword4) ? 'true' 'false');
print 
"\n\n";
?>

Ger output
Kod:
 Password hash : $2y$10$bbJ6roLe5PQXeUuA7XYOL.5rI8AjA3.QBL/vDml1oqq5DcJMvQMY6
 Sha512 Password : 2fb0fa5f72d8c32b208efd8efd85aa07a441eae709be9136652e18fa827ddc3e5f8133bcf909b4b890ad7ad06edb068d6ee1  91d2d290ebe91f90a4c1dfbb2ed3
 Check password : true
 Check password 1 : false
 Check password 2 : true
 Check password 3 : true
 Check password 4 : true

2 saker:
1. Du får använda ' istället för " på dina password hashar eftersom de innehåller $
2. print konverterar true till 1 och false till blankt, så därför la jag på explicit vad den skal skriva vid true och false
Citera
  • 1
  • 2

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback