Wachtwoord hashen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Senior Front end developer Angular

Functie Er zijn momenteel 5 SCRUM-teams waarvan drie gefocust zijn op DevOps en de huidige projecten en twee op innovatie van de platformen. Jij zal onderdeel worden van het innovatie Scrum team. De 2 multidisciplinaire innovatie teams bestaan momenteel uit 14 werknemers. Jij als senior Front end developer wordt onderdeel van onze innovatieteams. De innovatieteams houden zich bezig met het door ontwikkelen van de huidige producten en denken na over nieuwe functionaliteiten. Binnen de rol van Front end developer krijg je veel vrijheid en kan je je dag zelf indelen. Dingen waar jij je dagelijks mee bezig zult houden is

Bekijk vacature »

Back-end developer

Dit ga je doen Development d.m.v. XQuery, JSON/XML en REST API's; Ontwikkelen aan een tof en complex zorgplatform; Koppelingen maken met de NoSQL database; Testen en documenteren van de ontwikkelde functionaliteiten; Samenwerking met andere front- en back-end ontwikkelaars. Hier ga je werken Voor een vooruitstrevende organisatie binnen de zorg in Den Haag zijn wij opzoek naar een Back-end Developer die ervaring heeft met o.a.XQuery en Vue.JS of daarin graag zou willen ontwikkelen. Je zal ontwikkelen aan een tof en complex zorgplatform en koppelingen maken met de NoSQL database. Ook het testen en documenteren van de ontwikkelde functionaliteiten behoort tot jouw

Bekijk vacature »

Experienced Lead Java Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Delft Vacature ID: 13301 Introductie We are seeking a Lead Java Developer for our team in the area of Delft. You will develop an application used exclusively by the engineers and geologists for site characterizations, which imports raw field and laboratory measurements for further processing, integration, ground modelling, and geotechnical analysis and reporting. The client/server application is entirely written in Java, and the server is hosted in the Amazon cloud, utilizing frameworks such as Spring and Hibernate, and connected to an MS SQL Server RDS instance. There is a trend towards using more

Bekijk vacature »

.NET developer

Functie Als .NET developer start jij in een ontwikkelteam met 15 developers en twee testers. Samen zijn jullie verantwoordelijk voor financiële applicaties met meer dan 50.000 gebruikers. Een deel van het team is verantwoordelijk voor de webapplicaties van deze organisatie. Ook zijn er twee app ontwikkelaars werkzaam in het team die zich focussen op de mobiele applicatie. Als .NET ontwikkelaar ga jij aan de slag met de webapplicaties van deze organisatie. Hierbij maak jij o.a. gebruik van C# .NET, ASP.NET, T-SQL, Angular en TypeScript. De nadruk van jouw functie ligt wel op de backend van de applicatie. Wat jouw functie

Bekijk vacature »

Back-End Developer in Laravel / PHP

Functie omschrijving Wij zijn op zoek naar een Medior PHP Laravel Developer voor een gaaf bedrijf in de omgeving van Amsterdam! Voor een enthousiast team die zich graag bezig houdt met softwareontwikkeling zijn wij op zoek naar versterking. Je werkt in een klein ontwikkelteam en bent zeer betrokken bij alle aspecten van de softwareoplossingen. Van het ontwerpen tot de oplevering. Binnen deze functie ga je aan de slag met het aanpassen, verbeteren en vernieuwen van de logistieke oplossingen. Je krijgt veel te maken met koppelingen naar systemen en de verzoeken van de klant. Je komt terecht in een team, waarbij

Bekijk vacature »

Junior Outsystems developer

Functie Als junior Outsystems developer wordt jij onderdeel van een multidisciplinair team van 23 software engineers. Ons team werkt agile en termen als Continuous Integration en Continuous Delivery zijn bij ons dagelijkse koek. Wij werken aan uitdagende en afwisselende projecten met als doel onze klanten een totaal oplossing aan te bieden. Als junior Outsystems developer krijg jij bij ons de kans om jezelf te ontwikkelen naar een volwaardige ervaren en gecertificeerde Outsystems developer. Jij een team met ervaren mensen (10+ ervaring) om je heen. Zo heb jij niet het gevoel dat jij meteen in het diepe wordt gegooid en uiteraard

Bekijk vacature »

Ervaren Software Developer

Functie omschrijving Ben jij een ervaren Software Developer, en heb je ervaring met technieken zoals C#, MS Access & SQL? Vind jij het leuk om maatwerk software te ontwikkelen voor klanten in een specifieke branche? Dan is dit de baan voor jou! Als ontwikkelaar ben jij samen met een team van 12 collega’s verantwoordelijk voor het bouwen van nieuwe functionaliteiten en het uitbreiden van de core applicatie. Belangrijk is dat je ervaring hebt met C# en MS Access. Je bent flexibel en klantvriendelijk ingesteld, omdat het belangrijk is om de klanten zo goed mogelijk van dienst te kunnen zijn. Thuiswerken

Bekijk vacature »

Network Engineer (f/m/d) in Heidelberg

Network Engineer (f/m/d) The IT Services team operates and supports the IT infrastructure and services at EMBL headquarters in Heidelberg and at the laboratory’s sites in Barcelona and Rome. As part of IT Services, the Network team is responsible for managing and developing the network infrastructure in our data centres, on campus, and to our external network providers. As a leading scientific institution with highly data-intensive research, extensive data flows at and between the laboratory’s six sites and to the Internet, EMBL is connected to national and international scientific networks using state-of-the-art technologies from vendors including Cisco, Extreme Networks and

Bekijk vacature »

Front-end Developer

Onze klant is sinds 2 jaar actief als adviseur en bemiddelaar in de verzekeringsmarkt. Sindsdien proberen zij deze slapende markt flink wakker te schudden. Dit willen zij doen door het bouwen van slimme vergelijkers op hun eigen website en die van partners. Het bedrijf wil continu voorop lopen, zodat consumenten eenvoudig de verzekeringen kunnen vinden die het beste bij ze past. Functieomschrijving Als Front-end Developer werk je aan vergelijkingsmodules die consumenten dagelijks gebruiken bij het vergelijken en afsluiten van verzekeringen. Je vindt het leuk om samen te werken met de product owner, bestaande modules te verbeteren en nieuwe vergelijkers "from

Bekijk vacature »

Fullstack Software Developer

Functieomschrijving Voor een ambitieuze werkgever in regio Roosendaal zijn wij op zoek naar een Full Stack C#.NET Developer. Als software programmeur ben je verantwoordelijk voor het bouwen van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Je werkt samen met andere developers en engineers om de sensoren in machines uit te lezen en deze data om te zetten in management informatie voor jullie klanten. Taken en verantwoordelijkheden: Verder ontwikkelen en onderhouden van webapplicaties, dashboards en apps voor de eigen IOT-oplossingen; Testen en goedkeuren van de software; Je gaat aan de slag met de volgende technologieën en frameworks: C#, JS frameworks,

Bekijk vacature »

.NET developer

Functie Als ervaren .NET ontwikkelaar ontbreekt er aan passie en motivatie niks. Jij bent communicatief sterk en pakt iedere uitdaging dan ook met beide handen aan. Op projectbasis ga jij met je team of met enkele andere ontwikkelaars intern aan de slag bij diverse partners. Op basis van het project ga jij aan de slag en zijn de werkzaamheden en technieken erg divers. Jouw werkgever stelt jouw ontwikkeling hierin voorop, zo krijg je een vast vertrouwenspersoon die één keer in de maand op locatie van jouw project zal kijken hoe het gaat en of er eventuele aandachtspunten zijn. Daarnaast krijg

Bekijk vacature »

Medior/senior front end developer React Sportsoftw

Functie Voor deze functie ben ik op zoek naar een enthousiaste front end developer die communicatief vaardig is. Jij wordt onderdeel van een enthousiast jong team dat werkt aan grote websites. Binnen jouw rol ben jij diegene die de vertaling maakt van design naar functionele code en zorg jij voor goede experience op meerdere platformen. Dit doe je natuurlijk door gebruik te maken van onze stack; Javascript, HTML, CSS en React. Daarnaast wordt er gebruik gemaakt van Webcomponents en verschillende authenticatie tools. Doordat er hier gestreefd wordt naar de beste gebruikerservaringen, wordt het product constant doorontwikkeld. Hierdoor blijven ze voor

Bekijk vacature »

Implementatie specialist

Standplaats: Honselersdijk Aantal uren: 32 – 40 uur Opleidingsniveau: HBO werk- en denkniveau Ben jij de implementatie expert die onze klanten helpt bij het integreren van de Greencommerce software? Ben jij daarnaast communicatief sterk, denk jij graag in verbeteringen en heb je ervaring met ICT? Lees dan snel verder! Bedrijfsinformatie Jem-id is een grote speler op het gebied van software ontwikkeling. Zo zijn wij continu bezig met het ontwikkelen van de meest innovatieve software voor de AGF- en sierteeltsector. We creëren oplossingen die er toe doen en verbinden klanten niet alleen op technisch vlak, maar zoeken ook de verbinding in

Bekijk vacature »

Scrum Master

TenneT is hard groeiend om de onze ambities waar te kunnen maken. Zo nemen wij een leidende rol in het aanjagen van de energietransitie. Het werven van nieuw talent speelt daarin een cruciale rol. Wij zijn op zoek naar een gedreven Scrum master op onze locatie Arnhem die hieraan wil bijdragen en misschien ben jij dat wel? Jouw bijdrage aan TenneT Je begeleidt twee teams binnen de afdeling Platform Services (PLS). Je helpt mee de devops manier van werken van de teams verder door te ontwikkelen. Je helpt de PO bij het managen van de product backlog; het voorbereiden van

Bekijk vacature »
- Rob -

- Rob -

04/04/2017 16:56:24
Quote Anchor link
Hallo!

Als ik wachtwoorden zoals: test hash en controleer met de volgende code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
$password = password_hash(md5(hash('sha256', sha1(md5('test')))), PASSWORD_DEFAULT);


    if (password_verify(md5(hash('sha256', sha1(md5('test')))), $password))
    {
        echo 'test';
    }


Dan zou dit toch hartstikke veilig moeten zijn? Want wie komt er nou achter zulke ritmes (als ik dat bv. 10 keer achter elkaar door elkaar haal).

En van de link https://crackstation.net/hashing-security.htm
snap ik het niet helemaal.

Dus wie zou mij kunnen uitleggen waarom dit niet veilig is?
 
PHP hulp

PHP hulp

25/04/2024 10:57:59
 
- Ariën  -
Beheerder

- Ariën -

04/04/2017 18:58:54
Quote Anchor link
Waarom zou je nog eens hash(), sha1() en md5() erratum toe willen voegen? Het standaard geheel is al veilig zat. En anders kan je de 'cost' iets ophogen.
 
Ward van der Put
Moderator

Ward van der Put

04/04/2017 19:54:34
Quote Anchor link
Als je een lange hash nog eens door een algoritme voor een kortere hash haalt, maak je het geheel onveiliger.

Als je bijvoorbeeld 10.000 wachtwoorden door een hash met maar 1.000 mogelijke combinaties haalt, houd je niet 10.000 maar slechts 1.000 combinaties over. Iets soortgelijks gebeurt wanneer je md5(sha1(…)) gebruikt: je beperkt het grotere aantal combinaties van SHA-1 tot het kleinere aantal combinaties van MD5.

Daarom is jouw variant md5(hash('sha256', sha1(md5('test')))) technisch eigenlijk gewoon even erg, maar veroorzaakt die daarnaast nog schijnveiligheid: je lijkt sterk te coderen met SHA-256, maar verzwakt de boel tot MD5.
 
Ozzie PHP

Ozzie PHP

04/04/2017 20:23:43
Quote Anchor link
Dit soort dingen vind ik zelf ook altijd lastig te begrijpen.

>> Als je bijvoorbeeld 10.000 wachtwoorden door een hash met maar 1.000 mogelijke combinaties haalt, houd je niet 10.000 maar slechts 1.000 combinaties over.

Ward, mag ik even van de gelegenheid gebruik maken om je te complimenteren met je duidelijke antwoord. Hoe je het hier uitlegt, is erg helder. Een ketting is zo sterk als z'n zwakste schakel ... in dit geval dus die md5.
 
- Rob -

- Rob -

04/04/2017 20:32:53
Quote Anchor link
Maar als ik sha256 nou eerst doe, dan sha1 en dan md5, is het toch juist veiliger?

Toevoeging op 04/04/2017 20:37:28:

Want dan moet een hacker 3 combinaties van 3 verschillende hashes achterhalen, right?
 
Ben van Velzen

Ben van Velzen

04/04/2017 20:42:59
Quote Anchor link
Nee natuurlijk is dat niet veiliger, het maakt voor de volgorde niets uit, alleen de zwakste schakel telt.
Een hacker die sha256 kan achterhalen kan de rest ook achterhalen.
 
- Rob -

- Rob -

04/04/2017 20:44:03
Quote Anchor link
Dan blijf ik gewoon lekker password_hash(ww, PASSWORD_DEFAULT) gebruiken :)
 
Ben van Velzen

Ben van Velzen

04/04/2017 20:45:40
Quote Anchor link
Ik zou voor de zekerheid ook geen PASSWORD_DEFAULT gebruiken, wat zal er namelijk gebeuren als de default verandert? Dan werkt je login routine opeens niet meer met bestaande accounts.
 
- Rob -

- Rob -

04/04/2017 20:46:19
Quote Anchor link
Wat moet ik dan gebruiken?

Toevoeging op 04/04/2017 20:46:31:

PASSWORD_BYCRYPT?
 
Ben van Velzen

Ben van Velzen

04/04/2017 20:50:21
Quote Anchor link
Bcrypt is momenteel de default, dus dat is momenteel gelijk aan wat je toch al had. Wel zo veilig dan dus.
 
- Rob -

- Rob -

04/04/2017 20:52:53
Quote Anchor link
Oké, maar dan wordt het dus password_hash(ww, PASSWORD_BYCRYT) ipv password_hash(ww, PASSWORD_DEFAULT)
Maar is sha256 niet veiliger? Of maakt dat niet zo veel uit?
 
Ben van Velzen

Ben van Velzen

04/04/2017 20:58:21
Quote Anchor link
Bcrypt werkt net even anders dan sha256. Het is dus geen vraag over veiligheid, maar over de methode. Bcrypt levert geen 2x dezelfde waarde op, waardoor je ook kunt besluiten om na een correcte inlogpoging een nieuwe hash in de database op te slaan.
 
Ozzie PHP

Ozzie PHP

05/04/2017 01:34:24
Quote Anchor link
>> waardoor je ook kunt besluiten om na een correcte inlogpoging een nieuwe hash in de database op te slaan.

Is dat gebruikelijk?
 
Bart V B

Bart V B

05/04/2017 08:52:07
Quote Anchor link
Dat kan. Zie http://php.net/manual/en/function.password-needs-rehash.php
Een voordeel lijkt me, dat als er een nieuwe word gegenereerd je een brute force bijna onmogelijk maakt.
Quote:
Ik zou voor de zekerheid ook geen PASSWORD_DEFAULT gebruiken, wat zal er namelijk gebeuren als de default verandert? Dan werkt je login routine opeens niet meer met bestaande accounts.

Ehm... Hier wil even op inhaken.

Dat is toch echt niet wat de manual voorschrijft.
Ik meen zelfs te hebben gelezen dit juist WEL te gebruiken omdat het kan veranderen.
Het enige waar je over na moet denken is dat je het op moet slaan in een kolom die een behoorlijke grote is. bij php5.5 zo de grote van kolom 60 karakters genoeg moeten zijn, maar omdat hij in de toekomst kan veranderen word het advies gegeven om hem 255 karakters te maken. En als je php 7 gebruikt is een salt niet meer nodig extra toe te voegen, want dat doet hij voortaan zelf.
Gewijzigd op 05/04/2017 09:02:58 door Bart V B
 
Ward van der Put
Moderator

Ward van der Put

05/04/2017 09:11:49
Quote Anchor link
Als je alleen de hash wijzigt maar het wachtwoord niet, is het wachtwoord nog steeds bruikbaar en kun je dus remote bruteforcen. Je kunt brute force beter tegengaan door het aantal requests per periode, per IP-adres en per gebruikersnaam te beperken en door een zware work factor te gebruiken.

Het rehashen dient vooral een ander doel: als de hashes (dus de database) in verkeerde handen zijn gevallen, worden die bij een rehash onbruikbaar. Aangezien diefstal van wachtwoordhashes niet altijd onmiddellijk wordt ontdekt, beperk je automatisch de potentiële schade voor actieve gebruikers door wachtwoorden bij een login te rehashen.
 



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.