[php].htpasswd hash maken

Pagina: 1
Acties:

  • Skate2000
  • Registratie: November 1999
  • Laatst online: 29-12-2024
Op de server van mijn website, is het mogelijk een .htpasswd te genereren met het linuxcommando "htpasswd". Nu probeer ik een PHP bestandje te maken dat dezelfde hash zou kunnen maken als linux doet voor Apache.

Natuurlijk hebbik de search al even gebruikt, maar daar had ik niets aan.

Dit heb ik al:
PHP:
1
2
$ht_pass = crypt($pw,$pw);  
print("$ht_pass");

Waarin $pw het door een formpje gesubmitte PassWord is.

Waarom is de output $ht_pass zo anders dan wat er in mijn .htpasswd staat?

ergo, hoe kan ik dezelfde hash maken met php, als die ik in Linux(Apache) maak?

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Waarom laat je 't dan niet gewoon aan linux over, door htpasswd aan te roepen vanuit PHP?

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Verwijderd

dit moet werken:

alstu :P

wat het probleem is met normaal crypt aanroepen is dat ie een random salt gebruikt en met de eerste 2 karakters van de invoer zelf wat omgezet moet worden gaat het wel goed.... echter >8 waarbij de eerste 8 tekens hetzelfde blijven blijft de crypt password ook het zelfde...
PHP:
1
2
3
4
<?php
      $test = "test";
      echo crypt($test, substr($test, 0, 2));
?>

  • Skate2000
  • Registratie: November 1999
  • Laatst online: 29-12-2024
Ik heb het nu op de manier gedaan van Caesium (thnx), maar ik heb nu het volgende, het klopt niet:

met mijn PHP'tje is "test" "teH0wLIpW0gyQ"
als ik een user aanmaak, en daar het pw van bekijk, dan is het "Z0uUSDp90l2Gs" (ook "test")

Dit zou toch hetzelfde moeten zijn??

Verwijderd

heeft deels met de DES encryptie te maken

check ff de crypt functie @ php.net en de comments >:)

edit:


ongeacht dat de passwords verschillen die je met htpasswd maakt
of met crypt in php ze werken allebei :P


Verwijderd

ik ga ook voor de manier van drm :D

ik heb t ooit s zo gedaan...

PHP:
1
2
3
4
5
6
7
8
    // locatie van htpasswd
    $p = "/usr/local/apache/bin/htpasswd";

    $naam = "darthraider";
        $pass = "password";

    $command = $p." -ndb $naam $pass";
    exec($command,$r);

Verwijderd

ik ben zelf geen voortstander van programma's uitvoeren op de server zelf aangezien je er niet van uit kan gaan dat bijv een functie zoals exec() overal werkt.... kan gedisabled zijn

en je start een child-proc. en dat is nadelig bij hevig gebruik...

  • Skate2000
  • Registratie: November 1999
  • Laatst online: 29-12-2024
whaaaaaaaaaaaahh!!
het werkt gewoon altijd! Ookal ziet ieder pw eranders uit, het werkte dus al die tijd al, weer wat geleerd, thnx u guys
Pagina: 1