Wachtwoord hashen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

PHP developer (Symfony, Doctrine)

Functie Als PHP developer wordt er een hoge mate van zelfstandigheid verwacht, maar ook dat je goed opereert in een team waar kennis wordt gedeeld en dingen als codereviews erg veel voorkomen. Kwaliteit staat voorop, mede hierom werken ze bijvoorbeeld zonder echte deadlines in hun sprints. De SaaS-applicatie wordt volledig ontwikkeld in PHP en Symfony. De module bestaat uit een stuk informatie verrijking en intelligentie wat resulteert in een medische check. De logica wordt daarom in de code geïntrigeerd. Je bent onder andere bezig met complexe databases waar meer dan 80.000 medicijnen op verschillende niveaus in staan, die maandelijks worden

Bekijk vacature »

Fullstack developer (NodeJS, React, AWS)

Functie Als Fullstack developer kom je te werken in het ontwikkelteam, maar zoals gezegd komt er veel meer bij kijken dan alleen maar ontwikkelen. Je bent samen met je collega’s continu bezig om de software uit te breiden maar hiernaast doe je doorlopend onderzoek naar de inzet van bijvoorbeeld Machine Learning. Ze willen met hun software echt voorlopen op andere en toegevoegde waarde leveren voor de eindgebruiker. Mede hierom zijn ze erg benieuwd naar iemand zijn persoonlijkheid, of hij graag nieuwe dingen uitzoekt (Google!), en initiatief neemt. Maar waar staan ze nu? Na een onderzoeksfase van ruim een jaar zijn

Bekijk vacature »

Applicatieontwikkelaar ABAP

Bedrijfsomschrijving Functieomschrijving De kandidaat zal worden ingezet binnen een van de DevOps teams binnen SCI (Service Centrum Inburgering) voor het ontwerpen en bouwen in SAP ABAP van de binnen SCI gebruikte informatiesystemen. Voornaamste voorkomende werkzaamheden zijn het aanpassen van en bouwen van nieuwe programmatuur in ABAP (Objects), waarbij ook gebruikt wordt gemaakt van DDD (Domain Driven Design) en het opstellen/aanpassen van Functionele/Technische ontwerpen. Daarnaast moeten ook formulieren met SAP Smartforms worden aangepast. Verder speelt de overgang naar SAP4Hana en SAP CPI. Vanwege het veelvuldig gebruik van SAP PO is kennis hiervan een pré. Achtergrond opdracht Momenteel werken meerdere DevOps teams

Bekijk vacature »

Medior PHP Developer

Bij Getnoticed doen wij wat we leuk vinden, websites bouwen en online marketing. Voor veel van onze klanten doen we dan ook allebei. Wel zo fijn om campagnes te draaien voor conversiegerichte website die in eigen beheer zijn. In onze vestiging in Nederweert zitten onze development afdelingen en worden de websites gebouwd. Op dit moment zijn we op zoek naar jou: dé PHP/Back-end developer die net als wij, het hoofd boven het maaiveld durft uit te steken! In het kort Even een paar punten die omschrijven wat deze toffe baan inhoudt: Het bedenken van nieuwe functionaliteiten Het verbeteren van het

Bekijk vacature »

Front End Ontwikkelaar (React)

In het kort Als front end developer ga je aan de slag met maatwerkprojecten voor onze klanten. Denk bijvoorbeeld aan het toevoegen van een machine aan een database of het corrigeren van formulieren voor ingestuurde orders. Voorbeeld van zo’n project is Smart Link. De projecten waar je op ingezet kunt worden liggen binnen het technische domein waar jij als front end developer een grote rol speelt om samen met je back end collega’s de juiste oplossingen te leveren. please note that this particular role requires fluent Dutch language skills. Dit vind je leuk om te doen Het omzetten van designs

Bekijk vacature »

Fullstack Developer

Functieomschrijving Voor een erkende werkgever in regio Etten-Leur zijn wij op zoek naar een Fullstack Developer met PHP/Laravel ervaring. Je gaat aan de slag met het bouwen van maatwerk software voor klanten die actief zijn in een specifieke markt. Als fullstack developer ben je samen met een enthousiast team van 7 collega’s verantwoordelijk voor de ontwikkeling, beheer en innovatie van informatiesystemen voor klanten in een specifieke branche. Verder ondersteun je complexe uitdagingen van klanten. Je brengt hun wensen in kaart en vertaalt deze door naar maatwerk software. Ervaring met Laravel is een must. Om de klant zo goed mogelijk te

Bekijk vacature »

.Net Ontwikkelaar

Dit ga je doen Het ontwerpen en ontwikkelen van software voor klanten; Het bijdragen van kennis en ervaring; Het integreren van van de software en afstemmen met klanten; Het functioneel testen van de ontwikkelde software. Hier ga je werken Voor onze relatie zijn wij momenteel op zoek naar een .Net Developer die wilt werken aan software die draait op machines wereldwijd. De organisatie produceert software voor applicaties die gebruikt worden in verschillende branches. De software wordt geleverd aan fabrikanten van verschillende robotica en machines. Als .Net ontwikkelaar ben je intern onderdeel van het team wat de applicatie omgevingen ontwikkeld en

Bekijk vacature »

Laravel developer

Zie jij mogelijkheden om onze tooling technisch te verbeteren en uit te bouwen? Over Jobmatix Jobmatix is een innovatieve en internationale speler op het gebied van jobmarketing. Onze jobmarketing automation tool helpt organisaties bij het aantrekken van nieuw talent door vacatures digitaal, geautomatiseerd en op een efficiënte manier te adverteren en onder de aandacht te brengen bij de doelgroep op 25+ jobboards. Volledig performance-based, waarbij organisaties betalen op basis van cost per click of cost per applicant. Maandelijks wordt onze jobmarketing automation tool al gebruikt door vele directe werkgevers, intermediairs en mediabureaus, waaronder Picnic, Rijkswaterstaat, AdverOnline, Schiphol, DPA, Teleperformance en

Bekijk vacature »

.NET Developer Shared Driving

Bedrijfsomschrijving Onze klant richt zich op het toegankelijker maken van steden, een fantastisch mooi streven. Hoe ze dat doen? Met eigen ontwikkelde software, waarmee vervoersmiddelen gedeeld kunnen worden. Deze inspirerende werkgever maakt een maatschappelijke impact en dat doen ze nu al zo'n 25 jaar! Het bedrijf is gevestigd in het centrum van Rotterdam en kent ongeveer zo'n 90 medewerkers. Het personeel is lekker gewoon gebleven! Iedereen kleedt zich zoals hij of zij dat zou willen en de sfeer is er erg fijn. Een leuke werkgever om voor te werken, en bovendien zijn er voor jou als Software Developer veel mooie

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

No-Code Betty Blocks ontwikkelaar

Bedrijfsomschrijving Wil jij de bedrijfsprocessen van klanten revolutionair digitaliseren en optimaliseren zonder beperkt te worden door programmeertalen? Kom werken bij een snelgroeiende en professionele organisatie met een gezonde dosis humor en veel vrijheid om jezelf te ontwikkelen. Als No-Code Betty Blocks ontwikkelaar werk je vanuit ons kantoor in het hart van Nederland, je thuiswerkplek of op locatie bij de klant. We faciliteren de juiste trainingen en ondersteuning zodat je een echte Betty Blocks expert wordt. Naast het werk zijn er bij ons bijzondere events, zoals een jaarlijkse zeildag, een zomerse barbecue en een knus kerstdiner om de grillige maanden door

Bekijk vacature »

Airport Developer / System engineer

De functie Als onze nieuwe Airport Developer / System Engineer is je doel om uit nieuwbouw- en onderhoudsprojecten maximale waarde te creëren voor Schiphol Group en haar stakeholders. Vanuit je visie en expertise, maar ook (technologische) ontwikkelingen, wetgeving en beleid vertaal je klantwensen naar een gedegen programma van eisen. In de planontwikkelingsfase werk je nauw samen met Plan Ontwikkelaars om je kennis in te brengen ten behoeve van de kwaliteit van het investeringsvoorstel. Je overlegt met diverse partijen, stelt de vraag achter de vraag en verbindt zo de belangen van de luchthaven, proceseigenaar en asseteigenaar om tot een gedragen ontwikkelopgave

Bekijk vacature »

Full stack Python developer

Functie Samen met andere collega’s (een product owner, een software manager en een ervaren ontwikkelaar) ga jij onze producten verder ontwikkelen. Jouw verantwoordelijkheden zullen bestaan uit: – Verder wil gaan met de ontwikkeling van onze bestaande producten; nieuwe features! – Meedenkt over de roadmap van onze producten – Als sparringpartner kan optreden op het gebied van development – Zelf ook nieuwe ideeën op tafel durft te leggen en deze van scratch af aan wilt bouwen Hieronder ook een paar voorbeelden van projecten waar we momenteel mee bezig zijn of binnenkort aan willen beginnen: – Real-time interactie creëren in onze web

Bekijk vacature »

PHP developer

Functie omschrijving Voor een klein bedrijf in de buurt van Nieuwegein zijn wij per direct op zoek naar een talentvolle PHP developer. Er wordt veel ruimte geboden voor eigen initiateven, waardoor je een mooie stempel kan drukken op jouw eigen werkzaamheden (zowel operationeel als strategisch). Het bedrijf heeft middels externe programmeurs een multimedia platform ontwikkeld, maar willen geleidelijk de ontwikkeling naar binnen halen. Om die reden zoeken zij een communicatieve interne PHP developer die graag meebouwt aan het succesvolle product. Je gaat de volgende werkzaamheden verrichten: Platform beheren en programmeren (PHP, MySQL, JQuery, Javascript, XML & HTML); Communicatie en aansturing

Bekijk vacature »

Senior developer (PHP en VB.NET)

Functie De development afdeling bestaat uit 2 teams. Het productteam (10 developers) is verantwoordelijk voor verschillende applicaties met als doel om zoveel mogelijk te automatiseren en uit te werken tot standaard software. Met diverse Solutions Architecten en ervaren developers denken ze voortdurend mee met hun klanten en bouwen ze de basis van het uiteindelijke maatwerk dat wordt geleverd. Hiernaast hebben ze een maatwerk/projectteam. Dit team bestaat momenteel uit 8 developers (junior tot senior) en is verantwoordelijk voor het maatwerk in hun klantprojecten. Momenteel zijn ze op zoek naar een senior developer die aan de slag gaat in het productteam. Hierin

Bekijk vacature »

Pagina: 1 2 3 4 volgende »

Ronnie Peeters

Ronnie Peeters

08/03/2015 16:59:58
Quote Anchor link
Hallo,

Ik heb een registratieformulier aangemaakt, en gebruikers kunnen hun gebruikersnaam en wachtwoord gewoon opgeven. En deze worden dan in de mysql database opgeslagen.

Ik gebruik niet meer dan volgende regel hiervoor.
mysql_query("INSERT INTO users (username, password) VALUES ('$username','$password')");

Maar de wachtwoorden worden gewoon als tekst opgeslagen in mijn mysql tabel(varchar). Hoe kan ik dit beter beveiligen zodat het wachtwoord gehashed word. En hoe unhash in het terug zodat ze nog wel steeds kunnen aanmelden?

Thanks!
 
PHP hulp

PHP hulp

26/04/2024 04:50:27
 
Thomas van den Heuvel

Thomas van den Heuvel

08/03/2015 17:04:29
Quote Anchor link
Hashen = eenrichtingsverkeer. Je kunt een hash niet terugvertalen.

Als iemand zijn/haar wachtwoord verliest moeten ze maar een nieuwe opvragen middels hun e-mail.

Er zijn TIG manieren om wachtwoorden te versleutelen. Afhankelijk van hoe veilig deze moet zijn maak je een keuze. De manier waarop je loginmechanisme werkt en hoe sterk je wachtwoorden moeten zijn dragen ook aan deze veiligheid bij. Tis maar net hoeveel tijd/geld/moeite je hier in wilt steken.
 
Ronnie Peeters

Ronnie Peeters

08/03/2015 17:06:40
Quote Anchor link
Bedankt voor je reactie.

Wat is dan een goede manier om je wachtwoord te versleutelen? Mag iets simpels zijn, maar gewoon zodat iemand die de tabellen uitleest van je database dat ze niet de wachtwoord kunnen lezen?
 
Thomas van den Heuvel

Thomas van den Heuvel

08/03/2015 17:15:47
Quote Anchor link
Als iemand je tabellen kan uitlezen (en kan wijzigen?) dan maakt het allemaal niet zoveel meer uit wel? :]

Je zou MD5() kunnen gebruiken (maar deze is verouderd, ik hoor op de achtergrond nu al het boe-geroep van puristen), of wellicht beter SHA1() (edit: of misschien ook niet meer, leest dit).

En als je PHP-versie nieuwe genoeg is (>= 5.5.0) kun je password_hash gebruiken.

Er zijn waarschijnlijk ook een hoop topics over password hashing in PHP te googlen.
Gewijzigd op 08/03/2015 17:17:20 door Thomas van den Heuvel
 
Frank Nietbelangrijk

Frank Nietbelangrijk

08/03/2015 17:20:04
Quote Anchor link
PHP 5 >= 5.5.0
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$password
= '12345';
$hash = password_hash($password, 'sha256');
echo $hash;
?>


Als een gebruiker wil inloggen dan vergelijk je niet meer de paswoorden maar de hashes.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
$hash
= password_hash($_POST['password'], 'sha256');

if($row = mysqli_fetch_assoc()) {
    if($hash === $row['hash'])
        // password ok
}

?>
Gewijzigd op 08/03/2015 17:34:40 door Frank Nietbelangrijk
 
Ronnie Peeters

Ronnie Peeters

08/03/2015 17:27:59
Quote Anchor link
en hoe kunnen gebruikers dan inloggen? Want dan zouden ze hun hash moeten weten vooraleer ze hiermee kunnen inloggen?
 
Frank Nietbelangrijk

Frank Nietbelangrijk

08/03/2015 17:31:31
Quote Anchor link
Lees mijn laatste post nog eens goed door? ;-)
 
Thomas van den Heuvel

Thomas van den Heuvel

08/03/2015 17:32:24
Quote Anchor link
Nee, je vertaalt hun wachtwoord opnieuw naar de bijbehorende hash. En deze vergelijk je dan met wat opgeslagen is in de database.
 
Ronnie Peeters

Ronnie Peeters

08/03/2015 17:32:48
Quote Anchor link
oh bedankt hadden gelijktijdig geantwoord :), ik probeer het eens uit :)
 
Frank Nietbelangrijk

Frank Nietbelangrijk

08/03/2015 17:33:36
Quote Anchor link
Ronnie Peeters op 08/03/2015 17:32:48:
oh bedankt hadden gelijktijdig geantwoord :), ik probeer het eens uit :)


ja dacht ik al dat gebeurt zo vaak!
 
Ronnie Peeters

Ronnie Peeters

08/03/2015 17:46:23
Quote Anchor link
Ik krijg de volgende foutbooschap
Fatal error: Call to undefined function password_hash()
 
Dos Moonen

Dos Moonen

08/03/2015 17:50:00
Quote Anchor link
http://www.sitepoint.com/hashing-passwords-php-5-5-password-hashing-api/

Lees dat a.u.b.

Je kunt het gebruiken vanaf PHP 5.3.7, tot PHP 5.5.0 moet je wel de password_compat files includen zoals je gelezen hebt.

Lees daarna a.u.b. ook nog http://www.sitepoint.com/series/avoid-the-mysql-extension/

Ik weet dat veel lezen minder leuk klinkt dan wat programmeren, debuggen en een resultaat krijgen waar je een goed gevoel over kan hebben. Maar het geeft een nog beter gevoel wanneer je weet dat je code hebt geschreven die net en veilig is!
 
Ronnie Peeters

Ronnie Peeters

08/03/2015 17:56:47
Quote Anchor link
Hmm kan het ook zonder een extra api te installeren? Ik kan namelijk niets op de server zelf veranderen.
 
Dos Moonen

Dos Moonen

08/03/2015 18:07:33
Quote Anchor link
Welke PHP versie draai je?
 
Ronnie Peeters

Ronnie Peeters

08/03/2015 18:23:47
Quote Anchor link
PHP/5.4.17
 
Dos Moonen

Dos Moonen

08/03/2015 19:00:39
Quote Anchor link
Waarschijnlijk hoef je geen extra API te installeren sinds mysqli sinds PHP 5 expliciet uitgezet moet worden tijdens compilatie. Probeer een connectie te maken, als PHP niet zeurt dat de MySQLi class niet beschikbaar is zit je goed.

password_* functies zijn niet beschikbaar, maar zijn toch alleen maar wrapper functies voor functionaliteit die beschikbaar is sinds PHP 5.3.7.
Dus inplaats van password_* functies geschreven in C zul je password_* functies geschreven in PHP moeten gebruiken door een bestand te includen op de pagina's waar je de functies nodig hebt. Zie de notitie over "password_compat" in dat artikel.
 
Ronnie Peeters

Ronnie Peeters

08/03/2015 19:24:04
Quote Anchor link
Heb even wat gepruld maar krijg het niet klaar met die password_compat? (tenzij je me op de juiste weg kan helpen)
Kan het ook met crypt? dat ben ik ook vaak tegengekomen?
 
Dos Moonen

Dos Moonen

08/03/2015 19:30:01
Quote Anchor link
Het kan ook met crypt. Dat password_compat maakt gebruikt van crypt: https://github.com/ircmaxell/password_compat/blob/master/lib/password.php#L155

Maar laten we beginnen met wat je geprobeerd hebt. Code, foutmeldingen etc.
Oh, en heb je dat artikel doorgenomen? Zo ja, hoe aandachtig?
Gewijzigd op 08/03/2015 19:35:09 door Dos Moonen
 
Eeyk Vd noot

Eeyk Vd noot

08/03/2015 19:39:15
Quote Anchor link
je kan ook gewoon standaard MD5 gebruiken alleen dan moet je wel salt en paper gebruiken.


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php

$salt
= "a:@:ER:$:TFFG:$1234:$$$EaDS:bv:";
$pepper = "15244145464:fdsasfdfdsafdfd:ERDSDE$#$DDSFD:DFDFDAWA@:@$$!!@#:";
mysqli_query($connect,"INSERT INTO users (username, password) VALUES ('".mysqli_real_escape_string($username)."',
 '"
.mysqli_real_escape_string(md5(md5($salt.$_POST['pass'].$pepper)))."'')");
?>


in principe is dit veilig zat.
Gewijzigd op 08/03/2015 19:43:55 door Eeyk Vd noot
 
Ronnie Peeters

Ronnie Peeters

08/03/2015 19:41:17
Quote Anchor link
$hash = '$2y$04$usesomesillystringfore7hnbRJHxXVLeakoG8K30oukPsA.ztMG';
$test = crypt("$password", $hash);

mysql_query("INSERT INTO users (username, password) VALUES ('$username','$test')");

Dit heb ik in mijn registratiepagina staan, zo komt hij wel in onleesbare tekst te staan in de tabel. Maar nu weet ik niet goed hoe ik mijn loginpagina moet aanpassen zodat ik hem daar kan uncrypten.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?php
    session_start();
    $username = mysql_real_escape_string($_POST['username']);
    $password = mysql_real_escape_string($_POST['password']);

    mysql_connect("localhost", "root","usbw") or die(mysql_error());
    mysql_select_db("first_db") or die("Cannot connect to database");
    $query = mysql_query("SELECT * from users WHERE username='$username'");
    $exists = mysql_num_rows($query);
    $table_users = "";
    $table_password = "";
    if($exists > 0) //IF there are no returning rows or no existing username
    {
        while($row = mysql_fetch_assoc($query))
        {

            $table_users = $row['username'];
            $table_password = $row['password'];
        }

        if(($username == $table_users) && ($password == $table_password))
        {

                if($password == $table_password)
                {

                    $_SESSION['user'] = $username;
                    header("location: home.php");
                }
                
        }

        else
        {
            Print '<script>alert("Incorrect Password!");</script>';
            Print '<script>window.location.assign("login.php");</script>';
        }

    }

    else
    {
        Print '<script>alert("Incorrect Username!");</script>';
        Print '<script>window.location.assign("login.php");</script>';
    }

?>
 
- Ariën  -
Beheerder

- Ariën -

08/03/2015 19:42:31
Quote Anchor link
Het schijnt zo te zijn hoe vaker je een md5() hash weer hashed, dat de kans op een 'collission' groter is?
In ieder geval wordt het niet geadviseerd. Ikzelf ben ook een voorstander van password_hash(). Een salt is sowieso een goed idee om 'dictionairy-attacks' tegen te gaan.
 

Pagina: 1 2 3 4 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.