Wachtwoorden opslaan anno 2014

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Junior Oracle (APEX) Ontwikkelaar regio Den Haag

Bedrijfsomschrijving Momenteel ben ik voor mijn klant in de regio Den Haag op zoek naar een Junior Oracle Apex Developer. Heb jij onlangs jouw opleiding afgerond of nu tot drie jaar werkervaring en wil je de kans krijgen binnen een sterk team? Dan is dit je kans! Deze relatief jonge organisatie is de aflopen jaren explosief gegroeid en is inmiddels een gerenommeerde speler in zijn segment. De eigenaren hebben in het verleden veel ervaring opgedaan in de transportbranche bij een werkgever die alleen resultaatgericht was en weinig aandacht had voor zijn medewerkers. Deze ervaring heeft hen en de organisatie gevormd

Bekijk vacature »

.NET ontwikkelaar / Azure

Bedrijfsomschrijving Als onderdeel van een grote IT-dienstverlener is deze organisatie nu gegroeid tot een organisatie van bijna 30 man groot. Iedereen binnen deze organisatie houdt zich bezig met het ontwikkelen, beheren, onderhouden van bedrijfskritische applicaties. De organisatie ontwikkelt applicaties voor o.a. diverse grote zorgverzekeraars, maar ook de wat kleinere lokale bedrijven worden door deze organisatie ondersteund. In tegenstelling tot de moederorganisatie, werken de medewerkers bij deze organisatie gemiddeld drie tot vier dagen in de week gewoon op het eigen kantoor in Utrecht. Samen met een vast team ben je dus verantwoordelijk voor verschillende projecten die je veelal op één en

Bekijk vacature »

Business developer / account manager / marketing

Ben je op zoek naar een functie waarin je ál je kwaliteiten kan benutten? Wat deze functie zo gaaf maakt, is de diversiteit. Je gaat zowel aan de slag met marketing communicatie plannen, als in de sales. Jij gaat met je team dit gave product grootschalig op de markt brengen, gaaf toch?! Als business developer zoek jij distributiepartners in Nederland, maar ook in België en Duitsland. Wie weet welke landen daarna nog volgen! Het bedrijf is actief in duurzame energie, dus fijn als jij daar ook ervaring/affiniteit mee hebt. Wat bieden wij jou Direct op contract bij de opdrachtgever Goed

Bekijk vacature »

IT-traineeship junior software developer

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 »

Backend Python Django developer voor modern bureau

Bedrijfsomschrijving Voor een jong en succesvol internetbureau ben ik op zoek naar Backend Python developer met minimaal 5 jaar ervaring. Ben jij geen Python developer maar een ervaren PHP developer? Dan krijg je hier de mogelijkheid om jezelf om te scholen! Op het moderne en mooie kantoor kijk je uit op een van de grachtjes van Alkmaar waar jij bezig bent met diverse werkzaamheden. Ze bouwen onder andere websites, apps, maatwerk software die bedrijfsprocessen verbeteren en daarnaast bieden ze ook ondersteuning in deze producten, van design, vindbaarheid en veiligheid. Ze hebben in die korte tijd een hele toffe klantenkring opgebouwd

Bekijk vacature »

.NET backend developer, afwisselende projecten, ve

Voor een detacheerder in de regio Rotterdam zijn we op zoek naar een ervaren .NET developer. Het bedrijf bestaat uit circa 100 medewerkers waarvan 10 .NET developers. Dit zijn voornamelijk senior .NET developers. Omdat je via deze werkgever gedetacheerd wordt bij hun klanten, is werk afhankelijk van de opdracht waar je terechtkomt. Dit kan zijn bij een grote verzekeraar maar ook een bouwbedrijf of gemeente. Niet alleen betekent dit om de zoveel tijd (bijvoorbeeld 1 jaar) een nieuwe technische uitdaging maar ook een nieuwe omgeving waarin je terecht komt. Naast de afwisseling in je werk biedt dit bedrijf uitstekende opleidingsmogelijkheden.

Bekijk vacature »

Helpdesk medewerker M/V

ReflexSystems is een toonaangevende automatiseerder binnen de foodindustrie. Met meer dan 45 collega’s in Nederland en België helpen wij dagelijks onze klanten bij het automatiseren van operationele bedrijfsprocessen. Binnen de foodbranche onderscheiden wij ons door het leveren van totaaloplossingen middels state-of-the-art hard- & software, hoofdzakelijk inhouse ontwikkelt. Wij zijn een dynamische, groeiende organisatie en zijn voortdurend in beweging. Klantgerichtheid, Samenwerken en Integriteit staan bij ons hoog in het vaandel. Sta je met beide benen op de grond, ben je communicatief sterk, service gericht en heb je altijd een luisterend oor? Dan heeft ReflexSystems een leuke fulltime job beschikbaar voor jou!

Bekijk vacature »

Senior C# Developer (NL) bij PostNL

Senior C# Developer (NL) Den Haag HBO/WO IT Professional "Als Senior C# Developer impact maken op de groeiende E-commerce markt met onze logistieke software. Je doet dit door complexe bedrijfskritische logistieke business processen te vertalen naar de ontwikkeling en uitbreiding van onze Cloud IT-platformen en software oplossingen in C# en AWS" Wat ga je doen? PostNL is becoming a postal tech company. Als Senior C# Developer ben je onderdeel van een multidisciplinair Business-IT-team bestaande uit onder andere een Lead Engineer, Developers en Solution Consultants. Samen zijn jullie verantwoordelijk voor het bouwen aan onderdelen uit onze logistieke software omgeving. Binnen het

Bekijk vacature »

Ervaren full-stack C# developer, .NET CORE, Typesc

Voor een ambitieuze en snelgroeiende organisatie de regio Rotterdam zijn we momenteel op zoek naar een .NET C# developer. De organisatie bestaat inmiddels ruim 15 jaar en heeft een systeem ontwikkeld waarmee bedrijven de informatie van grote en complexe projecten beter kunnen managen. Dit systeem is geheel webbased. Om hun globale ambities waar te maken zijn ze recentelijk begonnen het systeem geheel te herbouwen met de nieuwste technieken. Denk hierbij aan technieken als .NET CORE, Typescript, React, Kubernetes en Azure. Niet alleen betekent voldoende nieuwe technische uitdaging maar ook betekent dit dat je voor 80 tot 90% van je tijd

Bekijk vacature »

Junior Developer Fullstack Java DevOps Cloud

Bedrijfsomschrijving Onze klant is een grote organisatie en is actief in de financiële sector. Binnen Europa bieden zij veel verschillende producten en diensten aan. De afdeling waar je komt te werken richt zich op het digitaliseren van primaire digitale processen. Wat digitale processen betreft lopen wij in Nederland ver voor op andere landen in Europa! Deze services wil de organisatie ook aanbieden aan hun collega’s en klanten in landen zoals België, Frankrijk en Duitsland. Jij en je team zijn verantwoordelijk voor de digitalisatie van de primaire processen en deze vervolgens te optimaliseren & automatiseren. Binnen het team zal je end-to-end

Bekijk vacature »

C/C++ Developer

Bedrijfsomschrijving Als Software ontwikkelaar C/C++ kom je te werken bij een toonaangevende organisatie in de mobiliteitsbranche die door het produceren van slimme producten Nederland steeds leefbaarder maakt! Ze ontwikkelen innovatieve producten die er onder andere voor zorgen dat de infrastructuur in Nederland op de snelste en meeste efficiënte manier kan worden geregeld. Als C/C++ ontwikkelaar kom je te werken op een afdeling met 40 collega's, bestaande uit Engineers, deskundigen en ontwikkelaars. Hiervoor werk je nauw samen in een team met ongeveer tien andere ontwikkelaars. Samen met het team pak je zelfstandig projecten op die doorgaans een doorlooptijd hebben van 4

Bekijk vacature »

Junior of medior .NET C# (web) ontwikkelaar, inhou

Ben je een junior of medior .NET C# ontwikkelaar en op zoek naar een nieuwe baan in Rotterdam? Een inhouse baan waar je werkt aan maatwerkapplicaties, direct contact hebt met klanten en samenwerkt met een leuk team van ontwikkelaars? Een baan waar je plezier haalt door de beste oplossing voor de klant te vinden? Wellicht dat deze organisatie dan iets voor jou is. Voor een software bedrijf in Rotterdam zijn we op zoek naar een .NET C# ontwikkelaar. Het bedrijf bestaat al meer dan 20 jaar en richt zich op het ontwikkelen van unieke software op maat (web, apps, desktop

Bekijk vacature »

Microsoft 365 Engineer

Senior Microsoft 365 Engineer Welkomstbonus van € 5.000,- Bij T2 zorgen we goed voor elkaar en doen wij leuke dingen met leuke mensen. We zorgen voor uitdagende opdrachten zodat jij jezelf onbeperkt kan blijven ontwikkelen. Ben jij een ervaren systeembeheerder Microsoft 365 en wil je het beste uit jezelf halen? Dan ben je van harte welkom bij T2 en ontvang je onze welkomstbonus ter waarde van € 5.000,-. Wat mag je nog meer verwachten? Als je met ons de uitdaging aangaat dan bieden we je het volgende: • Dienstverband voor onbepaalde tijd • Salaris tussen de € 4.000,- en €

Bekijk vacature »

C# Software engineer

Company Proxyclick is a rapidly growing tech company based in the heart of Europe. Our mission is to help businesses better manage their visitors well beyond the simple act of registration. We incorporate into the visitor experience notions of security, health and safety, brand promotion and communication, and privacy. Our cloud-based SaaS visitor management solution caters to the enterprise security needs of companies such as Airbnb, Audi, Dimension Data, L’Oréal, or Pepsico. Millions of people around the world use our apps. In everything we do, we strive to build the best possible product. Our goal is to combine simplicity and

Bekijk vacature »

Software Engineer C++ / Software Developer C++

Software Engineer C++ / Software Developer C++ (Bsc, MSc, Computer Science, Information Technology, Mathematics, C, C++, Linux, Algorithms) General Do you find great joy in software development, which is then used worldwide, and are you familiar with C++ and with algorithms… read on! Organization For our business client, a fast dynamic technical company which gathers and processes huge amounts of data, we are looking for several Software Engineers. You will be part of a team consisting of about 25 software developers working on a suit of advanced software tools. These software tools are then used further on in the company

Bekijk vacature »
Dennis Smink

Dennis Smink

08/03/2014 20:10:31
Quote Anchor link
Beste leden,

Ik kwam onderlaatst in discussie met een persoon over de beste wijze van het opslaan van wachtwoorden.

Welke voorkeur gaat hier bij jullie uit?

Ik lees over deze functie van PHP zelf; http://nl1.php.net/password_hash, maar hoe veilig zal dit nu precies werken tegenover een SHA1, of MD5, of zelfs een SHA1 + MD5 combinatie?

Of wat zijn de voordelen van password_hash tegenover PBKDF2?

Kortom, wat gebruiken jullie graag en waarom? :)
 
PHP hulp

PHP hulp

06/03/2021 03:31:30
 
Dos Moonen

Dos Moonen

08/03/2014 20:54:30
Quote Anchor link
password_hash() is een API. (Application Progragramming Interface)

Welk algoritme wordt gebruik hangt af van de tweede parameter.
Er zijn nu (PHP 5.5) twee mogelijke waarden: PASSWORD_DEFAULT en PASSWORD_BCRYPT.

"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)." - de door jou gelinkt pagina
Dat betekend dat als je ooit over gaat op een PHP versie die een ander default algoritme heeft de NIEUWE hashes met dat algoritme gehasht zullen worden.
Gebruikers met oude hashes kunnen nog steeds inloggen omdat password_verify() aan de hash kan zien welk algoritme gebruikt is. Dat betekend dat het wachtwoord met het juiste algoritme gehasht zal worden tijden het inloggen waarna de twee hashes vergeleken worden, als deze overeen komen returned password_verify() true.
Met password_needs_rehash($hash, PASSWORD_DEFAULT) kun je bepalen of een wachtwoord gehasht is met de nieuwste default, als dat niet zo is kun je tijdens (wel pas als je weet dat het wachtwoord en hash bij elkaar horen) het inloggen het wachtwoord opnieuw hashen, de nieuwe hash sla je dan op in de database. Op die manier wordt de beveiliging automatisch verhoogd door alleen over te gaan op een nieuwe PHP versie!

"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." - de door jou gelinkt pagina
Dit zal altijd Bcrypt gebruiken als het algoritme, ook wanneer je over gaat naar een PHP versie die een ander default algoritme heeft.

MD5 is snel, en er is sinds 1996 een fout in het ontwerp bekend.
SHA1 is snel, en er is sinds 2010(?) een fout in het ontwerp bekend.
PBKDF2 is traag (er vanuit gaand dat je een goede cost kiest) en er is geen kwetsbaarheid van bekend.
Bcrypt is traag (er vanuit gaand dat je een goede cost kiest) en er is geen kwetsbaarheid van bekend.

Wanneer is traag zeg heb ik het over enkele honderden miliseconden trager. Enkele honderden miliseconden tijden het inloggen met een correct wachtwoord is niets voor een gebruiker. Enkele honderden miliseconden is enkele honderden miljarden sececonden extra wanneer je een paar miljard mogelijke inputs gaat bruteforcen.
Er zijn zo'n 20 miljard mogelijke combinaties voor 8 tekens lange combinaties waar alleen de 26 letters (klein/groot, kies er één) gebruikt mogen worden.
Traagheid is dus goed!

password_hash is dus geen hashing algoritme, het is wel een een lid van een handige familie van functies speciaal toegevoegd om het developers gemakkelijk te maken om wachtwoorden veilig op te slaan.

Op het moment is wordt het aangeraden om een van de volgende algoritmes te gebruiken: Bcrypt, PBKDF2, Scrypt. (alfabetische volgorde)
De voor- en nadelen van alle drie de algoritme zijn te lezen op de volgende pagina: https://security.stackexchange.com/questions/211/how-to-securely-hash-passwords

PS. als je denkt om in de toekomst over te gaan op SHA3, SHA3 is stukken sneller dan SHA2 en dus niet geschikt voor wachtwoorden. PBKDF2-SHA512 is beter geschikt voor wachtwoorden dan PBKDF2-SHA3.
PPS. Mozilla raad bcrypt(hmac(password)) aan: https://wiki.mozilla.org/WebAppSec/Secure_Coding_Guidelines#Password_Storage
Gewijzigd op 08/03/2014 21:13:12 door Dos Moonen
 



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.