Wachtwoord hash

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Python Developer vacature

Jij volgt ontwikkelingen op de voet. Sterker nog: je bent er onderdeel van. Jij loopt voorop. Jij denkt met klanten mee en helpt hen innoveren. Zo kun jij een bijdrage leveren aan de Rabobank-app, de beveiliging van treinen voor Pro-rail verbeteren of de website van ING een boost geven. Vergaderen? Liever gewoon zorgen dat het werkt! Hoe omschrijft men een Sogetist? Gedreven, resultaatgericht en niet snel tevreden. Wat niet wil zeggen dat je nooit met hem of haar kunt lachen. Integendeel. Plezier hoort wat ons betreft net zo goed bij werken. Maar we gaan op de eerste plaats voor de

Bekijk vacature »

Senior PHP Developer

Heb jij het gevoel dat je uitgeleerd bent binnen de organisatie? Dat je het glazen plafond bereikt hebt of dat je niet genoeg verschil kunt maken binnen de organisatie? Denk jij dat je genoeg PHP (OOP/MVC) ervaring hebt opgedaan en daarnaast de leiding kan nemen over een product dat gebruikt wordt door A merken? Lijkt jou het leuk om met niet alleen maar techneuten samen te zitten maar ook te schakelen met de marketing, sales en support? LEES SNEL VERDER! Organisatie Op een van de vetste locaties in Eindhoven is deze organisatie gevestigd. Je komt binnen in een groot glazen

Bekijk vacature »

Lead PHP developer

Organisatie Veel bedrijven roepen innovatief te zijn en met de nieuwste technieken te werken, deze organisatie doet dát ook écht. Dankzij continue innovatie bieden zij hun klanten de beste proposities aan en laten ze hun klanten echt excelleren. De producten die ze leveren zijn met name digital marketing software. Als Lead PHP developer zal je de gehele levenscyclus van de software begeleiden, van ontwikkeling tot implementeer, van concept tot strategie. Er heerst een work hard, play hard cultuur binnen dit bedrijf, waarbij iedereen op een informele manier met elkaar om gaat. Omdat er veel verschillende applicaties zijn waar aan gewerkt

Bekijk vacature »

Medior Front-end Ontwikkelaar

Organisatie Voor een bedrijf in Amsterdam ben ik opzoek naar een Medior Front-end Developer. Stel je voor dat je op een feestje bent en je kunt vol trots vertellen dat je voor de grootste bedrijven van Nederland werkt en dat zij gebruik maken van de applicatie waar jij dagelijks aan werkt! Lees dan nu verder. Functie De projecten waar je aan werkt zijn afwisselend en iedere maand ben je met een nieuw project bezig. Het zijn vooral grote en langdurige projecten dus dat moet je wel leuk vinden. De organisatie telt op dit moment 20 FTE waarvan 10 ontwikkelaars (

Bekijk vacature »

Senior Full-Stack .NET Developer Automotive

Organisatie De organisatie is ooit begonnen in 1996 met één doel, namelijk; de beste IT oplossing voor de automotive branche! “waar anderen oplossingen zoeken om kosten te drukken, zijn wij heel erg actief in het commercieel opkrikken van de omzet” aldus, de directeur. Het bedrijf bestaat uit 3 takken, die samen de bermuda driehoek vormen voor deze branche. Er is gewoonweg geen ontkomen aan de tools en software die in de afgelopen 20 jaar waterdicht is ontwikkeld! Samen leveren ze een totaalpakket waarmee de klant/eindgebruiker niet alleen een meedenkend product binnenhaalt, maar ook een werknemer aanneemt die de team uitdaagt!

Bekijk vacature »

Java Backend Developer

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 werk je mee aan de architectuur laag. Daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het software ontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je ondersteunt de software architect en projectleider bij hun werkzaamheden. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak

Bekijk vacature »

Junior PHP Developer custom apps (Laravel)

Organisatie Dit bedrijf is in 2000 opgericht als een bedrijf wat “simpele” websites bouwt en is inmiddels uitgegroeid tot volledig full service webbureau waar de focus ligt op applicaties. Binnen het bedrijf werken nu 15 man waarvan zeker 1/3e op de technische afdeling zit. De rest zorgt er voor dat er nieuwe klanten binnen komen en de administratie op orde is. Ze werken in een grote open ruimte op werkeilandjes om elkaar te versterken. Er hangt een relaxte sfeer en er wordt ook voldoende gedaan om het leuk te houden. Ze hebben meerdere malen per jaar een borrel of een

Bekijk vacature »

Technisch Ontwerper / Applicatieontwikkelaar max.

Uitdagende projecten, afwisseling, de zekerheid van een vast contract en groei is wat CIMSOLUTIONS jou onder andere biedt. Benieuwd hoe wij dit aanpakken? Kom op woensdag 17 april naar ons ICT Professional Event, op 7 locaties in Nederland. Tijdens deze avond kun je naast een hapje en een drankje onze sfeer komen proeven. Maak kennis met CIMSOLUTIONS, onze collega’s en beleef de ervaringen van onze ICT specialisten én de projecten waar zij het verschil maken. Kijk voor meer informatie en/of aanmelden op: https://www.cimsolutions.nl/nl/Evenement/CIMSOLUTIONS-ICT-Professionals-Event Wie zoeken we? Je bent de beste in je vak of hebt de ambitie en de potentie

Bekijk vacature »

ICT-Specialist

Als ICT-specialist bij VSN Systemen ben je medeverantwoordelijk voor het beheer van netwerk- en serverparken. Je analyseert complexe storingen en werkt met de nieuwste technieken. Daarbij werk je in een enthousiast ervaren multidisciplinair team. Tevens denk je mee over innovaties en optimalisaties, om onze klanten beter te kunnen bedienen. VSN Systemen is een IT-bedrijf dat verantwoordelijk is voor het volledige ontwerp en beheer van datacentra. Door een pragmatische aanpak en nauwe samenwerking, zorgen wij er al meer dan 25 jaar voor dat we aan de hoge eisen van onze klanten voldoen. VSN Systemen heeft een platte organisatiecultuur, met korte communicatielijnen

Bekijk vacature »

Ervaren Xamarin / Mobiele App developer bij Randst

Locatie/Standplaats Amsterdam Functieomschrijving Onze missie is het creëren van maximale waarde voor de Randstad Groep Nederland met onze ICT-oplossingen. Jouw inbreng is voor hen van essentieel belang voor een toonaangevende positie op de markt. Jij maakt dus echt het verschil! Randstad Groep IT is op zoek naar een ervaren Xamarin app developer. Als app ontwikkelaar ben je verantwoordelijk voor het bedenken, ontwikkelen en implementeren van apps voor de Randstad Groep Nederland. Onder de Randstad Groep vallen Randstad en Tempo-Team, de nr. 1 en 2. bedrijven van Nederland op het gebied van uitzenden. Ook Yacht, dat zich vooral op de professionals

Bekijk vacature »

Medior full-stack .NET Developer Nijmegen

Bedrijfsinformatie Voor een business partner in de omgeving van Nijmegen ben ik op zoek naar een full-stack .NET developer die ervaring heeft met ASP.NET en C#, en tevens uit de voeten kan met JQuery, Javascript en CSS. Het bedrijf levert software aan gemeenten voor woningen. Door hun flinke groei in de afgelopen jaren zijn ze inmiddels de marktleider in Nederland. Van de 40 medewerkers zijn er 12 software developer en werken ze dagelijks aan nieuwe functionaliteiten van deze applicatie. Het jonge team kent een informele sfeer, zonder managementlagen. Elke maand hebben ze leuke uitjes, zoals bijvoorbeeld een etentje. Teambuilding staat

Bekijk vacature »

Junior PHP Developer / International Startup

Organisatie Deze organisatie heeft een innovatieve evenementen agenda ontwikkelt en dient daarmee als marketing platform voor grote evenementen. Wil jij vanuit een jonge startup graag samen werken met ’s werelds grootste evenementen, bedrijven als Uber en Booking.com en onderdeel worden van deze gave startup, lees dan verder! Deze organisatie heeft een platform ontwikkeld waarbij grote evenementen zich aanmelden en op dit platform adverteren richting miljoenen consumenten die de app gebruiken. Enkele jaren geleden is deze organisatie ontstaan en zitten inmiddels met 15 man in verschillende landen gevestigd. Het is een erg jonge organisatie waarbij de leeftijden tussen de 20 en

Bekijk vacature »

Frontend developer junior / medior

Organisatie Wat is het pad wat jij wil gaan bewandelen? Denk je er wel eens over na om voor een detacheerder te gaan werken maar ben je bang dat je een opdracht moet doen die je niet leuk vind? Lees dan even verder. Heb je ook wel eens het gevoel dat je een beetje blijft hangen in je ontwikkeling omdat je onvoldoende uitgedaagd wordt op jouw werk maar ben je niet het type wat iedere 2 jaar een overstap wil maken, dan is dit iets voor jou. Een van mijn partners in Amsterdam heeft recent haar deuren geopend. Het team

Bekijk vacature »

digitaal coördinator cybercrime

Wat ga je doen? Als digitaal coördinator cybercrime stuur je de dagelijkse operationele werkzaamheden aan van het team dat zich bezig houdt met de opsporing van strafbare feiten in complexe digitale omgevingen en de bestrijding van fenomenen binnen het domein van cybercrime en gedigitaliseerde criminaliteit. Je vervult een coördinerende rol op inhoud en op proces en bent in staat om tactiek en digitaal te vertalen naar een plan van aanpak. Zowel op zaakniveau als op technisch niveau leg je de verbinding, zowel binnen je team als tussen teams onderling. Je zorgt ervoor dat de juiste keuzes worden gemaakt en geeft

Bekijk vacature »

Leergierige Junior PHP Developer

Organisatie Dit eigenwijze bedrijf heeft al vanaf het begin alles zelf gedaan. Vanuit de irritaties die grote software giganten vaak opwekken. (Denk aan onpersoonlijk contact, meerdere lagen waar je als klant of mederwerker doorheen moet voordat iets wordt geregeld) zijn ze 15 jaar geleden voor zichzelf begonnen. Inmiddels hebben ze onlangs versie 5 van hun eigen framework gelanceerd en zijn ze met een klein en hecht team van 4 man. Ze hebben voor deze grootte gekozen om alle wensen die de klant heeft ook te kunnen realiseren. “Alles wat de klant wilt, dat kan en als het niet kan dan

Bekijk vacature »
Ozzie PHP

Ozzie PHP

12/02/2019 14:49:40
Quote Anchor link
Wat is tegenwoordig de beste manier om wachtwoorden te hashen? En welke algoritme te gebruiken?

Iemand wellicht een voorbeeldje?
 
PHP hulp

PHP hulp

25/04/2019 11:03:41
Honeypot
 
- Ariën -
Beheerder

- Ariën -

12/02/2019 16:33:35
Quote Anchor link
Ikzelf gebruik password_hash die zelf bcrypt gebruikt. Maar er is nog meer mogelijk:

Quote:
The following algorithms are currently supported:

PASSWORD_DEFAULT - Use the bcrypt algorithm (default as of PHP 5.5.0). Note that this constant is designed to change over time as new and stronger algorithms are added to PHP. For that reason, the length of the result from using this identifier can change over time. Therefore, it is recommended to store the result in a database column that can expand beyond 60 characters (255 characters would be a good choice).
PASSWORD_BCRYPT - Use the CRYPT_BLOWFISH algorithm to create the hash. This will produce a standard crypt() compatible hash using the "$2y$" identifier. The result will always be a 60 character string, or FALSE on failure.
PASSWORD_ARGON2I - Use the Argon2i hashing algorithm to create the hash. This algorithm is only available if PHP has been compiled with Argon2 support.
PASSWORD_ARGON2ID - Use the Argon2id hashing algorithm to create the hash. This algorithm is only available if PHP has been compiled with Argon2 support.


Controleren moet je doen met password_verify
Gewijzigd op 12/02/2019 16:34:26 door - Ariën -
 
Thomas van den Heuvel

Thomas van den Heuvel

12/02/2019 17:11:03
Quote Anchor link
Ik begrijp dat dit belangrijk is, maar ik durf haast te zeggen dat dit lang niet het belangrijkste (of enige belangrijke ding) is.

Om de veiligheid van applicaties te waarborgen werk je met lagen. Het hashen van je wachtwoord is daar slechts één van, die meer garandeert dat iemand zijn/haar originele wachtwoord niet achterhaald kan worden dan dat dit de applicatie nu echt veiliger maakt.

Het zou bijvoorbeeld al meer helpen wanneer je afdwingt dat een wachtwoord aan bepaalde criteria zou moeten voldoen (lengte, karaters, case), en dat deze eens in de zoveel tijd veranderd zou moeten worden. In die zin maakt een ingewikkeld(er) hashing mechanisme je applicatie niet veiliger.

Er is ook geen "beste manier". Er is misschien wel een "beste (of op zijn minst goede/acceptabele) manier voor situatie X".
 
Ozzie PHP

Ozzie PHP

12/02/2019 17:51:18
Quote Anchor link
@Ariën

Thanks. Bedoel je dan deze? PASSWORD_BCRYPT


@Thomas

Ik snap dat er meer lagen zijn, maar ik wil specifiek weten wat de beste hashing methode is op dit moment. Bijvoorbeeld MD5 is geen aanrader.
 
Thomas van den Heuvel

Thomas van den Heuvel

12/02/2019 18:04:32
Quote Anchor link
> Bijvoorbeeld MD5 is geen aanrader.
WAAROM niet :p.

Ik ken de redenen wel een beetje, en de "industrie" plaatst dit mechanisme in het verdomhoekje, maar als MD5 als hashingmethode een probleem vormt, wil dat dan niet zeggen dat er op een andere plek iets mis is?

Brute force: dan zit er geen limiet op het aantal inlogpogingen?
Collisions/toevalstreffers: wachtwoord te zwak?
Toegang tot database verkregen: ik denk dat het ontcijferen van wachtwoorden dan het minste van je problemen is.

> de beste hashing methode
Bestaat niet. Security is ook een tradeoff versus oa gebruikersgemak. Zo levert een hogere cost dan wellicht een betere versleuteling (?) op, maar wil je dan seconden langer wachten als je inlogt?

Je bent in je vraagstukken vaak op zoek naar "het beste" zonder dat je dit toepast op een concrete situatie.

Dit is zoiets als "wat is de beste manier om drukwerk op te bergen"? Who knows? Een kartonnen doos? Een gelakte eikenhouten boekenkast? Een vitrine met klimaatcontrole? Wat voor drukwerk betreft het uberhaupt? Een kopie van een meesterwerk met zeer beperkte oplage? Een antieke geillustreerde bijbel? De Donald Duck? Hoe kun je in hemelsnaam zo'n vraagstuk eenduidig beantwoorden?

Ik denk dat je veel te veel leunt op theorie, en te weinig op een praktische toepassing.
Gewijzigd op 12/02/2019 19:30:00 door Thomas van den Heuvel
 
- Ariën -
Beheerder

- Ariën -

12/02/2019 19:53:08
Quote Anchor link
MD5 kent voor zover ik weet veel mogelijkheden tot collisions, waardoor het behoorlijk zwak is. Tot hoever weet ik zelf niet echt.

Zelf gebruik ik het niet voor wachtwoorden, en enkel voor plekken waarbij een unieke code van belang is. Zoals mijn CMS waarbij ik nieuwe en niet-opgeslagen nieuwsitems toch een tijdelijk ID meegeef voor het koppelen/uploaden van afbeeldingen.
 
Ozzie PHP

Ozzie PHP

12/02/2019 20:13:56
Quote Anchor link
@Aar

Kun je mijn vraag nog even beantwoorden?

@Thomas

Ik snap je wel, maar er bestaat ook zoiets als algemeen gangbaar. En MD5 is dat zeker niet. Ik denk / mag hopen dat je snapt wat ik bedoel. Ik wil gewoon een fatsoenlijke en veilige hashingmethode en of iemand dan een tiende van een seconde moet wachten om in te loggen, boeit me eerlijk gezegd geen @!w#@!. Het gaat erom dat het veilig is, en van MD5 (wat ik puur even als voorbeeldje gaf) is algemeen bekend dat dat niet meer als veilig wordt beschouwd. Ik vraag ook niet naar andere methodes van security, enkel naar wat een goede en gebruikelijke hashingmethode is ;-)
 
Rob Doemaarwat

Rob Doemaarwat

12/02/2019 20:31:30
Quote Anchor link
Volgens mij is het gewoon de bedoeling dat je password_hash / password_verify, en password_needs_rehash gaat gebruiken. Team-PHP zorgt er dan voor dat je altijd "de beste" hashing hebt (wat dat dan ook is). Het voorkomt in ieder geval dat ieder weer z'n eigen algoritmes moet knutselen die na een paar jaar zonder onderhoud / met nieuwe inzichten volledig achterhaald zijn.
 
- Ariën -
Beheerder

- Ariën -

12/02/2019 20:39:48
Quote Anchor link
@Ozzie: Standaard gebruikt password_hash() bcrypt.
Als je PASSWORD_BCRYPT meegeeft aan de functie wordt er Blowfish Crypt gebruikt, maar de standaard Bcrypt is er enkel van afgeleid.
 
Ozzie PHP

Ozzie PHP

12/02/2019 21:46:59
Quote Anchor link
@Rob

Maar als je het overlaat aan het 'team' en niet expliciet een algoritme aangeeft, heb je wel een probleem als het team dat algoritme wijzigt. Dan kan niemand meer inloggen.

@Ariën

>> Als je PASSWORD_BCRYPT meegeeft aan de functie ...

Geef jij zelf PASSWORDT_BCRYPT mee aan de functie? Of gebruik je de default?
 
Rob Doemaarwat

Rob Doemaarwat

12/02/2019 22:20:30
Quote Anchor link
Daarom moet je na een succesvolle password_verify() ook even een password_needs_rehash() doen (zie example #1).
 
- Ariën -
Beheerder

- Ariën -

12/02/2019 22:25:32
Quote Anchor link
Ozzie PHP op 12/02/2019 21:46:59:
@Rob

Maar als je het overlaat aan het 'team' en niet expliciet een algoritme aangeeft, heb je wel een probleem als het team dat algoritme wijzigt. Dan kan niemand meer inloggen.

@Ariën

>> Als je PASSWORD_BCRYPT meegeeft aan de functie ...

Geef jij zelf PASSWORDT_BCRYPT mee aan de functie? Of gebruik je de default?

Nee, ik gebruik de standaard.


Toevoeging op 12/02/2019 22:31:41:

Rob Doemaarwat op 12/02/2019 22:20:30:
Daarom moet je na een succesvolle password_verify() ook even een password_needs_rehash() doen (zie example #1).

Goed idee....
Maar wanneer zou de hash niet meer kloppen? Bij een wijziging van de PHP-versie of de cost?
Gewijzigd op 12/02/2019 22:31:59 door - Ariën -
 
Ozzie PHP

Ozzie PHP

12/02/2019 23:40:25
Quote Anchor link
@Aar

"As mentioned on the Password Hashing Predefined Constants and password_hash pages, the algorithm used by PASSWORD_DEFAULT is subject to change as different versions of PHP are released."

Anders gezegd, met de default optie (die jij dus gebruikt) kan een keer het algoritme veranderen. Dat zou dan inhouden dat niemand meer kan inloggen. Oeps ...
 
- Ariën -
Beheerder

- Ariën -

12/02/2019 23:56:35
Quote Anchor link
En in dat geval lijkt die password_needs_rehash() erg handig ;-)
Weer wat geleerd.
 
Thomas van den Heuvel

Thomas van den Heuvel

13/02/2019 00:26:29
Quote Anchor link
> Het gaat erom dat het veilig is, en van MD5 (wat ik puur even als voorbeeldje gaf) is algemeen bekend dat dat niet meer als veilig wordt beschouwd.
Een verkeerd gebruik van welke methode dan ook is per definitie niet veilig. Gebruik maken van password_hash() en password_verify() maakt oplossingen ook niet automagisch "veilig". Dit is een complete misvatting. Stel dat jouw oplossing dit gebruikt, maar je query is vatbaar voor SQL-injectie, dan kan ik wel een wachtwoord + een hash verzinnen en meegeven zodat dit resultaat oplevert. Sterker nog, er zijn hele volksstammen die zo denken, en vervolgens het evangelie lopen te verkondigen met baggertutorials op YouTube.

> Ik vraag ook niet naar andere methodes van security, enkel naar wat een goede en gebruikelijke hashingmethode is ;-)
Actually, je vroeg (zoals vanouds?) weer naar de "beste" oplossing. Ik heb geen idee wat dit in jouw geval betekent.
 
Ozzie PHP

Ozzie PHP

13/02/2019 00:37:45
Quote Anchor link
@Aar

Ik denk dat die check niet nodig is als je zelf expliciet een algoritme kiest.

@Thomas

>> Een verkeerd gebruik van welke methode dan ook is per definitie niet veilig.

Dat klopt. Maar jij gaat nu uit van "als dan" situaties en dat kun je overal dan wel op toepassen. Je kunt in een heel veilige auto rijden, maar als je tijdens het rijden je autoportier wagenwijd openzet, kun je erop wachten dat je vroeg of laat uit de auto dondert ;-)

Als ik vraag wat een veilige auto is, dan zou een antwoord kunnen zijn "een Volvo vanwege een grote kreukelzone", en dan zit ik niet te wachten op / kan ik niet zoveel met een antwoord à la "geen enkele auto is veilig als je je gordel niet omdoet".

Ik hoop dat je een beetje begrijpt wat ik je probeer te zeggen. Ik snap dat een hashing methode op zichzelf geen unieke garantie biedt voor een veilige website. Dat was echter mijn vraag ook niet. Mijn vraag is wat heden ten dage wordt beschouwd als de beste manier om een wachtwoord te hashen. Niks meer en niks minder. En volgens mij valt daar best een concreet antwoord op te geven.
 
- Ariën -
Beheerder

- Ariën -

13/02/2019 00:52:33
Quote Anchor link
@Ozzie: Volgens mij klopt het. Maar ik gebruik, zoals ik al zei, de standaard algoritme in PHP. Ik heb geen zin om die boel opnieuw te compileren :-P

Dan is er nog wat interessants...

En wat als je tussentijds switched van algoritme?
Stel je gebruikt nog md5 en je wilt leden zonder een password-reset een veiliger password geven?

Is het dan slim om in de ledentabel een veld aan te maken hoe het wachtwoord gehashed is (md5, crypt), en bij een oude onveilige encryptie dit na het succesvol inloggen het ingevoerde wachtwoord omzetten naar de veilige variant, en het record te flaggen met 'crypt' i.p.v. 'md5'? Of zijn er nog dingen om over na te denken?

Uiteraard lijkt het mij wel handig om niet eeuwig hashes van zwakke algoritmes te gebruiken in een inlogsysteem, en op dat moment de deur tijdelijk dicht doen totdat ze een nieuw wachtwoord hebben aangemaakt.
Gewijzigd op 13/02/2019 00:54:27 door - Ariën -
 
Ozzie PHP

Ozzie PHP

13/02/2019 01:42:32
Quote Anchor link
Het lijkt me dat ze niet een nieuw wachtwoord hoeven in te geven, maar dat je het bestaande wachtwoord opnieuw hasht en opslaat. Daar is die password_needs_rehash() volgens mij precies voor bedoeld. Die kan blijkbaar detecteren of het algoritme gewijzigd moet worden, en zo ja ... dan opnieuw genereren en opslaan.
 



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.