Wachtwoord hashen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Scala Developer Security

Bedrijfsomschrijving Voor een dynamische en snelgroeiende organisatie in Den Haag zijn wij op zoek naar een back-end developer met interesse in security vraagstukken. Deze organisatie richt zich op het ontwikkelen van een online platform waar persoons- en bedrijfsgevoelige informatie veilig kan worden uitgewisselt en opgeslagen. Binnen de organisatie voegt iedereen vanuit zijn eigen expertise iets toe en staat zelfsturing hoog in het vaandel. Zij werken via het domain driven design principe waarbij zij binnen het betreffende domein met alle disciplines sparren over de inrichting van het platform en het oplossen van problemen. Het platform wordt ontwikkeld in Scala binnen een

Bekijk vacature »

Front-end Developer

As a Front-End Developer at Coolblue you improve the user-friendliness of our webshop for millions of customers. How do I become a Front-end Developer at Coolblue? As a Front-end Developer you work on the user-friendliness of our webshop for millions of customers. You enjoy working with the UX Designer to pick up stories. You get energy from coming up with creative solutions and are happy to present this within the team. You are also proud of your work and welcome all feedback. Would you also like to become a Front-End Developer at Coolblue? Read below if the job suits you.

Bekijk vacature »

Dynamics CRM / Developer

Bedrijfsomschrijving Als onderdeel van een grote IT-dienstverlener is deze organisatie ontstaan en is nu gegroeid tot organisatie van bijna 30 man groot. Iedereen binnen deze organisatie houdt zich bezig met het ontwikkelen, beheren, onderhouden van bedrijfskritische applicaties. In tegenstelling tot de moederorganisatie, werken de medewerkers bij deze organisatie gemiddeld drie dagen in de week gewoon op het eigen kantoor in Utrecht. Mede hierdoor heerst er een erg informele sfeer waardoor jij je binnen no-time thuis voelt! De organisatie staat op het punt om een heel nieuw team met specialiteit Dynamics CRM op te tuigen. Nee, je hoeft zeker nog geen

Bekijk vacature »

Senior C# Developer

UPS Nederland zoekt een Senior Developer C# * Remote werken mogelijk Wil jij werken aan complexe IT-systemen bij een van de grootste logistieke werkgevers ter wereld? Als ontwikkelaar bij UPS werk je aan opkomende technologieën en DevOps processen om ervoor te zorgen dat onze logistieke processen zo soepel en efficiënt mogelijk verlopen. Dit ga je doen Je bent betrokken bij alle facetten van applicatieontwikkeling. Je bent betrokken bij alle facetten van applicatieontwikkeling: van ontwerpen en bouwen tot testen en implementeren. Je levert ontwerpen die passen bij de onderliggende frameworks en concepten, bouwt efficiënte en testbare code, identificeert en integreert modulaire

Bekijk vacature »

Angular Developer

Bedrijfsomschrijving De organisatie is een grote speler in de financiële branche met ongeveer 4500 medewerkers waarvan 450 IT-medewerkers. De organisatie staat continue in beweging en wil zich altijd blijven vernieuwen. Een belangrijk aspect voor deze organisatie is dat de klant altijd centraal staat. Binnen de afdeling waar je komt te werken wordt gezocht naar een ervaren Angular Developer. De afdeling bestaat uit twee scrum teams waarbij er altijd vanuit een DevOps manier wordt gewerkt, "You build it, you run it". De afdeling is verantwoordelijk voor het verder ontwikkelen van de webapplicatie en het beheer daarvan. Daarnaast is het team is

Bekijk vacature »

Business Intelligence Developer

Dit is de rol Boels pitstop De organisatie Boels is zich aan het professionaliseren en digitaliseren. Jij gaat hier een grote rol in spelen. Wat doet de organistaie Boels? Hoe doen we het? Waar staan we? Waar willen/moeten we naartoe? De afdeling BI krijgt steeds meer (aan)vragen voor dashboards/data etc. vanuit de organisatie om dit te onderzoeken. Dit doen we centraal vanuit Sittard. Als Business Intelligence Developer werk je aan projecten (klein of groot), waar we met data inzichten verschaffen aan onze organisatie. Je denkt mee met onze interne stakeholders, draagt initiatieven aan en zorgt er vervolgens voor dat de

Bekijk vacature »

Full stack developer React Java

Bedrijfsomschrijving Als Fullstack Developer (waarbij je aan de slag gaat met o.a. React en Java) kom je te werken bij een organisatie die de rechtmatigheid van financiële gegevens in de zorg controleert. Hierin opereren ze geheel onafhankelijk en zijn ze ondertussen marktleider op dit gebied geworden. Ondanks dat het om een relatief klein bedrijf gaat werken ze voor gerenommeerde opdrachtgevers en zijn ze een belangrijke schakel in de zorgsector geworden. Wat ze uniek maakt zijn de hoge eisen aan de kwaliteit van de code die ze zichzelf stellen waarbij security, wegens grote hoeveelheden (privacy gevoelige) data, zeer hoog in het

Bekijk vacature »

Senior Java Developer

Bedrijfsomschrijving Als Senior Java Developer kom je te werken bij een internationaal gerenommeerd onderzoeksinstituut. Dagelijks is dit instituut verantwoordelijk voor de juiste samenwerking, toegankelijkheid en communicatie voor circa 9000 interne gebruikers. In een team van elf ontwikkelaars ben je als Senior Java Developer verantwoordelijk voor het ontwikkelen van functionele ontwerpen naar technische oplossingen. Deze projecten bestaan o.a. projecten zoals het implementeren van Elastic Search en het koppelen van CMS. Ook fungeer je als vraagbaak voor je collega’s op het gebied van backend softwareontwikkeling. Daarnaast denk je graag mee op het gebied van architectuur qua mogelijke oplossingen en innovatie. Momenteel zijn

Bekijk vacature »

Java Developer gezocht voor een leuk bedrijf!

Bedrijfsomschrijving Voor een leuke klant ben ik zoekende naar een Java Developer. Deze organisatie bestaat uit ongeveer 30 leuke collega’s die allemaal meewerken aan opdrachten voor klanten. Het uitgangspunt binnen alle werkzaamheden is het standaardiseren van communicatiestromingen/bestanden van klanten. Er heerst hier ook een pragmatische mentaliteit waarbij je samen met collega’s zoekt naar de beste oplossingen voor klanten om bestanden overzichtelijk en makkelijk te maken. Deze klant laat zich het beste omschrijven als een warme organisatie waarbij de collega's onderling elkaar vooruit helpen en goed samenwerken. De organisatie is met 30 medewerkers relatief klein, maar is daardoor wel ontzettend gezellig

Bekijk vacature »

OutSystems Developer

Bedrijfsomschrijving Deze organisatie is een toonaangevende speler in de vastgoedbranche en telt momenteel ruim 500 medewerkers. Met meer dan 150 applicaties staat er een complex applicatielandschap, bestaande uit standaard- en maatwerkapplicaties. De maatwerkapplicaties worden ontwikkeld door een inhouse development team. Het doel voor de komende periode is het verder vernieuwen en optimaliseren van het huidige applicatielandschap. Zo staat de organisatie aan de vooravond van de implementatie van een gloednieuw applicatiehuis, waar OutSystems een belangrijke rol in speelt. Binnen deze rol word je als OutSystems Developer verantwoordelijk voor de ontwikkeling van uiteenlopende applicaties met OutSystems. Om het nieuwe applicatiehuis te implementeren

Bekijk vacature »

Junior Developer C#

Je maakt een vliegende start van je carrière bij Coolblue, door meteen mee te werken in een team. Wat doe je als Junior Developer C# bij Coolblue? Als Junior Developer ben je meteen vanaf de start onderdeel van een van de development teams. Omdat je jezelf graag nog verder wilt ontwikkelen, kijk je veel met je collega’s mee en volg je verschillende trainingen. Maar in de sprints pak je ook je eigen stories op, om meteen Coolblue iedere dag een beetje beter te kunnen maken. Ook junior developer C# worden bij Coolblue? Lees hieronder of het bij je past. Dit

Bekijk vacature »

BI Developer

Bedrijfsomschrijving De organisatie waar je komt te werken als (Senior) BI Developer is een grote internationale financiële instelling. Met vele vestigingen in Nederland zijn ze een belangrijke speler op de financiële markt. Jij zal hoofdzakelijk op het kantoor in Amsterdam werkzaam zijn, maar het kan ook voorkomen dat je af en toe naar een andere vestiging gaat. Het bedrijf telt ongeveer 5000 medewerkers waarvan ruim 150 ICT'ers. Het team waar je in komt te werken als (Senior) BI Developer is een ambitieus BI team dat zich bezighoudt met lokale en internationale uitdagingen. Zo zit een Junior BI Developer, 2 (Medior)

Bekijk vacature »

IT-traineeship junior software ontwikkelaar

Zoek jij een stevige uitdaging en de mogelijkheid om veel nieuwe dingen te leren in een dynamisch vakgebied? Doe mee aan ons IT Professional Program en ontwikkel jezelf tot software engineer! Je begint met een opleidingstraject van ongeveer 4 maanden. Hierin ga je aan de slag met verschillende technieken die je op conceptueel niveau leert te overzien en interpreteren. Onderwerpen die aan bod komen zijn o.a. programmeren (Java/C#/Python), Object Oriëntatie, Databases, Webservices & webtechnologieën, Domain Driven Design en Continuous Integration/Continuous Delivery. Sommige van deze onderdelen sluit je af met een examen en bijbehorende certificering. Het opleidingstraject zelf sluit je af

Bekijk vacature »

Full-Stack Software Developer

Bedrijfsomschrijving De organisatie is één van de grote op het gebied van performance marketing. Ze staan bekend als een organisatie die hoogwaardige software en algoritmes bouwt. De software en algoritmes worden ingezet bij organisaties om op piekmomenten de sales/branding te vergroten. De organisatie staat niet bekend als de goedkoopste in de markt maar de oplossing die ze bouwen werkt zo goed dat ze wereldwijd grote klanten hebben. De organisatie maakt de afgelopen jaren een enorme groei door en is daarom opzoek naar versterking in het development team. Als Fullstack Software Developer kom je te werken in het Tech Team. Het

Bekijk vacature »

.NET developer

Bedrijfsomschrijving Als Senior .NET developer ga je werken in een DevOps team aan state-of-the-art oplossingen voor diverse opdrachtgevers. Denk hierbij aan het van scratch af aan bouwen van oplossingen, platformen, apps en andere portalen waar grote hoeveelheden data, AI en loT centraal staan. Zo is de organisatie onder andere bezig met het bouwen van een platform wat gebouwen middels tal van sensoren in kaart brengt en alles wat daarbij komt kijken. Zo kan iedereen in een opslag op een plattegrond zien welke ruimte bezet, gereserveerd of vrij is en wordt dit gekoppeld met andere diensten, bijvoorbeeld richting schoonmakers die weten

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

11/04/2021 23:23:31
 
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.