26. maj 2009 - 00:43Der er
5 kommentarer og 1 løsning
Generere en salted md5 hash til brug i Joomla?
Hejsa,
Jeg er så småt begyndt at lege med Joomla!, og jeg er positivt overrasket over mulighederne i systemet.
Jeg står dog og skal indlæse en liste med brugere til systemet, og skal på en eller anden måde have genereret den hash der skal indsættes i mysql-databasen.
Jeg har læst i en ældre tråd at dette skulle være fremgangsmetoden: (fra en ældre version af Joomla! formoder jeg, så den er sikkert forældet)
<?php $str = '123'; //Pass, går jeg ud fra? $salt = 'MiVFrU3GjnNriF23'; //Det "hemmelige ord" fra Joomla!'s administrator-side? echo (md5($str.$salt)); ?>
Resultatet er: a7sdfa8b4f2c1233299c4a12393eabc5
I mysql ser strengene imidlertid således ud: f122f61f4b7b39123df9e3193509c4f2:7abc2AzH201CYdmLYYBsDwHJFj446LzQ
delen før kolon ligner mere noget HEX, og efter kolon ligner det godt nok en md5-hash - er det joomla der står for resten, når du har genereret din hash? det kunne næsten tyde på at joomla selv laver noget kryptering af koden, hvilket ikke undrer ville mig, da det absolut bør gøres, især i sådanne systemer, som kan bruges til alt muligt.
så umiddelbart, burde det jo ikke være nødvendigt for dig at salte og hashe yderligere...
Joomla! sørger selv for at lave krypteringen. Problemet er at jeg skal gøre den tricket efter, da jeg skal kunne oprette brugere i Joomla!'s database "udenom" Joomla!.
Jeg har en CSV-fil fyldt med brugere fra et proprietært skole-system. Jeg skal have denne liste af brugere indlæst i Joomla!
Koderne ligger ukrypteret i denne fil, og kan dermed ikke skrives direkte ind i Joomla!'s database.
For god ordens skyld, skal nævnes at jeg har erstattet en masse af bogstaverne/tallene i ovenstående eksempel.
<?php $str = '123'; //Pass $salt = 'MiVFrU3GjnNriF23MiVFrU3GjnNriF23'; // Vil dog prøve at gøre denne dynamisk. $encrypted = md5($str.$salt).':'.$salt; echo $encrypted; ?>
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.