Bcrypt

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

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 »

Junior PHP (Laravel) Developer

Functie omschrijving Wij zijn op zoek naar een PHP Laravel Developer! Sta je aan het begin van je carrière en ben je op zoek naar een leuke baan? Lees dan verder! Voor een softwarebedrijf in omgeving van Schiphol zijn wij op zoek naar een ervaren PHP (Laravel) Developer. Je gaat je bezighouden met het ontwikkelen van innovatieve bedrijfsapplicaties. Samen met het team, bestaande uit designers en developers, maak je mooie oplossingen voor bedrijven in diverse branches. Je zorgt dat de opgeleverde websites perfect werken en de klant meer dan tevreden is. Je kunt rekenen op een afwisselende baan met leuke

Bekijk vacature »

Software Ontwikkelaar

Functie omschrijving Voor een echt familiebedrijf in de omgeving van 's-Hertogenbosch ben ik op zoek naar een Software Developer. Jij gaat in de functie van Software Developer werken met C# en .NET framework Jij gaat maatwerk software ontwikkelen en softwareoplossingen creëren. Daarnaast optimaliseer je de bestaande software. Oplossingen waar de klant echt iets aan heeft, jij krijgt er energie van op dit te realiseren. Je gaat werken in een Microsoft omgeving(ASP.NET) en gebruikt daarnaast C# en MVC. Samen met het huidige IT team binnen deze organisatie verwerk je de wensen van de klant tot een (eind)product. Bedrijfsprofiel Deze organisatie is

Bekijk vacature »

.NET developer

Functie Voor jou als junior .NET ontwikkelaar staat er een flinke uitdaging klaar bij dit bedrijf waar jij veel van kan gaan leren. Zo willen zij een flinke uitbreiding doen op het webbased gedeelte dat zij nu hebben en willen zij het standaard deel gaan moderniseren. Jouw team is dan ook op zoek naar een junior .NET ontwikkelaar die het leuk vindt om op basis van research en development aan de slag te gaan. Jouw mening telt mee als het gaat om hoe en met wat deze applicaties gebouwd en herschreven gaan worden. Jouw functie bij dit bedrijf gaat dan

Bekijk vacature »

Medior/senior Back-end developer gezocht!

Functie Vanwege de groei binnen het bedrijf zijn we op zoek naar versterking in het devlopmenttean. Als back-end developer bouw je aan de bedrijfssoftware die ons helpt bij de primaire processen. Een leuk (intern) project dus waarbij je de software continu doorontwikkeld! Je werkt in een klein team, we hebben dagelijks stand-ups en iedere twee weken een scrum-sessie, begeleid door onze Scrum Master. Hierin krijg je uitgebreid de kans om je ideeën te presenteren, en te overleggen met je mede-ontwikkelaars en de Product Owner. Binnen de ontwikkelteams gebruiken we Trello, Gitlab, Jiira, Confluence en Boockstack. Hiernaast werken ze met de

Bekijk vacature »

PHP Developer

As a PHP Developer at Coolblue, you ensure that our webshops work as optimal as possible. How do I become a PHP Developer at Coolblue? As a PHP Developer you work together with other development teams to make our webshop work as optimal as possible and to make our customers happy. Although you are a PHP Developer, you are not averse to a little TypeScript or other technologies that might be used. Would you also like to become a PHP Developer at Coolblue? Read below if the job suits you. You enjoy doing this Writing vanilla PHP code. Working with

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 »

.NET Developer

Functie De perfecte combinatie tussen techniek en vastgoed. Werk samen met de senior software developer om allerlei software van fluX te verbeteren. Gelukkig voel jij je helemaal thuis in de codewereld van .NET. Dus of je nu bezig bent met het verhogen van de conformiteitscore of het automatiseren van allerlei taxatiemodellen, jij weet precies hoe je de doelstellingen realiseert. En dat terwijl je ook samenwerkt met een extern ontwikkelteam. Waar dit team bepaalde softwaresystemen ontwikkelen, richt jij je vooral op onze Nederlands georiënteerde producten en alle wetgeving die daarbij komt kijken. Voor minimaal 32 uur per week verrijk jij onze

Bekijk vacature »

PHP/Symfony developer

Functieomschrijving Vanuit het hoofdkantoor in omgeving Bergen op Zoom ben je als PHP/Symfony Developer niet alleen bezig met software ontwikkeling. Je bent buiten ontwikkeling ook continu bezig met het zoeken naar nieuwe trends en ontwikkelingen die van waarde kunnen zijn voor de efficiëntie van software ontwikkeling. Techstack: PHP, Symfony & mySQL. Jouw takenpakket ziet er als volgt uit: Het ontwerpen en implementeren van webapplicaties met het Symfony-framework; Het testen van ontwikkelde applicaties om te zorgen dat ze goed functioneren en voldoen aan de eisen van de klanten; Het schrijven van een schone en efficiënte code volgens het Symfony framework; Onderhouden

Bekijk vacature »

Senior Front-End Developer

As a Senior Front-end Developer you maintain the balance between creativity and functionality for our webshop, and you coach your fellow developers. How do I become a Senior 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 Senior Front-End Developer at Coolblue?

Bekijk vacature »

Software Ontwikkelaar .NET te Zaandam

Bedrijfsomschrijving Je komt hier terecht bij een door-en-door softwarebedrijf, waarbinnen meerdere SaaS pakketten worden ontwikkelt voor diverse sectoren. Hierbij kun je denken aan bijvoorbeeld de logistieke en medische branche. Deze organisatie kenmerkt zich door de hoge mate van complexiteit in de applicaties, wat betekent dat jij je hier niet zal gaan vervelen. Integendeel: Jij gaat hier elke dag ontzettend veel leren en je in razend tempo ontwikkelen als C# .Net Developer met focus op back-end. Het team bestaat uit ongeveer 20 personen personen, waarvan het grootste deel zich richt op software development. De sfeer is informeel en professioneel. De producten

Bekijk vacature »

Belastingdienst - Freelance Applicatieontwikkelaar

Startdatum: 01.06.2023 Richttarief: €65,00 - €75,00 Duur van de opdracht: 6 maanden Uren per week: 36 Taal: Nederlands vereist! Gelieve in het Nederlands te solliciteren. Hybride. Kantoordagen in Utrecht, incidenteel in Apeldoorn Functieomschrijving: De afdeling IV – Generieke Voorzieningen – Interactie Online is onderdeel van de keten Interactie. De missie van de keten is: “het faciliteren van de interactie met alle burgers, bedrijven en hun vertegenwoordigers om hen in staat te stellen aan hun fiscale verplichtingen te voldoen en aanspraak te maken op hun rechten.” De afdeling Interactie Online heeft een belangrijke bijdrage binnen deze keten. Dit door het ontwikkelen

Bekijk vacature »

Magento developer

Functie E-commerce is een ‘’snelle’’ wereld. Om hierin continu voorop te blijven omarmen ze in een vroeg stadium nieuwe technieken. Een webshop is nooit af en kan altijd beter, sneller en efficiënter. Tegelijkertijd hebben ze vanaf hun oprichting altijd vastgehouden aan kwaliteit boven snelheid, en dit loont. Als back-end developer fungeer je als het verlengstuk van hun klanten. Technisch complexe zaken pak je met liefde op, en hierin werk je samen met o.a. front-end developers en designers. Klanten verwacht hierin kwaliteit van het hoogste niveau en een proactieve, meedenkende rol bij het maken van zowel technische als strategische keuzes. Ga

Bekijk vacature »

C# .NET Software Ontwikkelaar

Functie omschrijving C# .NET Developer gezocht. Ben jij een full stack developer die op zoek is naar een nieuwe uitdaging binnen een leuk snel groeiend bedrijf? Lees dan snel verder! Wij zijn op zoek naar een Developer met ervaring op het gebied van .NET die een organisatie in de regio Arnhem gaat versterken. Jij gaat je binnen dit bedrijf vooral bezighouden met het verbeteren van de functionaliteiten van hun dataplatform. Samen met andere ontwikkelaars denk je mee in oplossingsrichtingen, architectuur en nieuwe technologieën. Als C# .NET Developer binnen dit bedrijf houd je je niet alleen bezig met het verbeteren van

Bekijk vacature »

Ambitieuze medior developer

Wat je gaat doen: Heb jij al een paar jaar ervaring als developer maar wil jij naar the next level? In ons NextLevelDev Programma helpen wij jou om de volgende stap te zetten: een mooi programma aan trainingen op het gebied van Java, hippe frameworks, Agile/Scrum, OCP-certificering en optioneel: andere JVM-talen als Kotlin en Scala; Cloud (AWS, Azure, GCP) Soc 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

Bekijk vacature »

Pagina: « vorige 1 2 3 4 5 volgende »

- Marco -

- Marco -

20/12/2012 10:57:07
Quote Anchor link
Ja maar md5 is iig al gecracked en kan ook al gedecrypt worden dus ik houd het op bcrypt :)

en van die 07 was een reactie op deze post:
Henze Berkheij op 20/12/2012 10:42:41:
nee..dan is hij niet random, maar dan krijg je unexpected behaviour omdat de crypt functie dan zelf gaat bepalen welk algoritme er gebruikt gaat worden..

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
crypt('rasmuslerdorf', '$2a$07$usesomesillystringforsalt$');
?>

is the way to go: de 2a geeft aan dat het gaat om blowfish_encrypt gaat welke je moet hebben, 07 is de cost die je opgeeft waarmee je de functie trager of sneller kan laten gaan.
 
PHP hulp

PHP hulp

27/05/2026 07:44:14
 
No One

No One

20/12/2012 10:57:23
Quote Anchor link
je moet zelf de salt random maken natuurlijk ;)je kan het stukje "usesomesillystringforsalt" vervangen door alles wat je wilt.

@Chris...het idee van een Salt is om rainbow tabellen tegen te gaan. Dit zijn lijsten met wachtwoorden in bepaalde hashes. gebruik je geen salt, is dat makkelijk gedaan. gebruik je een single salt, hoeft de hacker alleen de salt nog te weten om een rainbow tabel te genereren. heb je een random salt dan zal het genereren van genereren van rainbow tabellen geen nut meer hebben omdat dat te lang gaat duren.
 
- Marco -

- Marco -

20/12/2012 10:58:30
Quote Anchor link
Ja maar wel zoals Chris dan zei als ze je database hacken dan hebben ze ook de random salt weer te pakken.

Dus wat kan ik nu het beste doen? een random salt gebruiken (en die opslaan in de database bij het registreren van een user) of een vaste salt gebruiken.
Gewijzigd op 20/12/2012 10:59:10 door - Marco -
 
No One

No One

20/12/2012 11:00:42
Quote Anchor link
@Marco, ja..maar dan hacken ze maar 1 random password. en dat is voor veel hackers totaal niet interessant...
 
Chris PHP

Chris PHP

20/12/2012 11:01:48
Quote Anchor link
Henze Berkheij op 20/12/2012 10:57:23:
@Chris...het idee van een Salt is om rainbow tabellen tegen te gaan. Dit zijn lijsten met wachtwoorden in bepaalde hashes. gebruik je geen salt, is dat makkelijk gedaan. gebruik je een single salt, hoeft de hacker alleen de salt nog te weten om een rainbow tabel te genereren. heb je een random salt dan zal het genereren van genereren van rainbow tabellen geen nut meer hebben omdat dat te lang gaat duren.


Rainbow/dictionary attack het is maar hoe je het beestje wilt noemen. Beide houdt het zelfde in, een db met woorden en hun bijbehoorde hashes.

Er is overigens een groot verschil tussen random (Bijvoorbeeld een 'faceroll' over je keyboard) of een random salt met bijvoorbeeld rand(). De eerste is random maar statisch en veranderd niet, de tweede zal telkens wijzigen wat niet werkt voor vergelijkingen.
 
- Marco -

- Marco -

20/12/2012 11:01:59
Quote Anchor link
ok dus een random salt is het beste?
 
Chris PHP

Chris PHP

20/12/2012 11:03:27
Quote Anchor link
@marco,

Gewoon eenmalig een 'random' salt maken en deze als string declareren aan $salt in een config file. Dus bijvoorbeeld $salt = 'JKL*^234-0dfg;j*()^d';

Deze dan in elke crypt() toevoegen.

Dus niet telkens een nieuwe random maken maar 1x een random salt en deze hergebruiken.
Gewijzigd op 20/12/2012 11:04:09 door Chris PHP
 
- Marco -

- Marco -

20/12/2012 11:05:12
Quote Anchor link
Chris NVT op 20/12/2012 11:01:48:
de tweede zal telkens wijzigen wat niet werkt voor vergelijkingen.

Dat kan toch wel werken als je die random salt die dan gegenereerd is op de pagina (tijdens het registreren) in de database opslaat? en dan tijdens het inloggen de username vergelijkt met username en dan de salt uit de database haalt en dan het ingevulde wachtwoord encrypt met die salt en dan ook het wachtwoord vergelijkt?

Want dat kan toch ook en zoals ik van Henze begreep was dat dus ook veiliger?
 
No One

No One

20/12/2012 11:06:47
Quote Anchor link
@Chris. idee is iedere gebruiker zijn eigen salt, niet iedere gebruiker met een nieuwe random salt gaan vergelijken.

stappenplan die ik voor ogen heb en jij hopelijk ook is
1. wachtwoord wordt ingevoerd
2. script genereerd random salt, bcrypt wachtwoord met deze salt en plakt de random salt aan de bcrypted wachtwoord.

3. gebruiker wil inloggen en voert wachtwoord in
4. script knipt de salt van het in de db opgeslagen wachtwoord
5. met de salt wordt het wachtwoord opnieuw gebcrypted.
6. vervolgens wordt hiermee vergeleken of er het zelfde uitkomt

piece of cake toch?
 
Chris PHP

Chris PHP

20/12/2012 11:07:09
Quote Anchor link
@Marco,

Nogmaals een database is over het algemeen gevoeliger voor hacken dan .php bestanden. Dus als jij in je users tabel een veld maakt rand_salt of iets dergelijks en daar je salt in plakt, is dat velemalen gevoeliger dan een statische $salt in je config file.

Het is aan jou wat je wil.

Toevoeging op 20/12/2012 11:10:15:

@Henze,

Piece of cake? Ik vind het behoorlijk omslachtig en overdreven. Het is nergens voor nodig om elke gebruiker een eigen salt te geven, wanneer je gewoon een sterke salt maakt en deze verwerkt in je crypt (SHA256 aangeraden) zit je safe.

Waarom z'n omslachtig script gaan schrijven en salt's opslaan in een database?
 
Erwin H

Erwin H

20/12/2012 11:10:59
Quote Anchor link
Ik gebruik altijd een 'random' salt berekend op andere gegevens van de gebruiker. Neem bijvoorbeeld zijn user_id, inlogdatum registreerdatum of een ander veld dat niet zal wijzigingen. Daaroverheen gooi ik een redelijk simpel algoritme dat die gegevens vertaalt naar karakters uit een string die in de code zit. Die string bevat ook double byte karakters (Chinese tekens) en verandert dus nooit per applicatie. Op die manier heb ik een verschillende salt voor elke gebruiker, hoef ik die niet op te slaan in de database want die is wel reproduceerbaar.
Dat het wat meer tijd kost om dan in te loggen, is overigens een voordeel.
Gewijzigd op 20/12/2012 11:59:30 door Erwin H
 
No One

No One

20/12/2012 11:11:26
Quote Anchor link
@Chris...als ik 1 gebruiker naar de knoppen wil hebben dan hoef ik idd maar 1 dictionary aan te maken...heeft die een dictionary wachtwoord heb ik geluk..zo niet, moet ik de volgende proberen. Daarom dat de meeste hackers ook de hele database willen hebben. en als je je queries niet escaped kan ik vast ook wel een inlogscript zo laten uitvoeren dat ie die salt van je print. eenmaal de salt heeft ie in jou voorbeeld alle wachtwoorden.

in mijn geval is zo'n hacker jaren bezig om een klein deel te kraken...
 
Chris PHP

Chris PHP

20/12/2012 11:14:48
Quote Anchor link
@Henze,

Hoe wil jij doormiddel van een SQL query te manipuleren (niet geescapte input van $_POST of $_GET) een 'script' zodanig aanpassen dat je ineens alles kan laten echo'en?

Toevoeging op 20/12/2012 11:30:14:

@Erwin,

Jou aanpak is dan logischer en stukken 'makkelijker' uit te voeren zonder salt's op te slaan in een db. Zolang je idd niet wijzigende gegevens van een gebruiker hanteert is dat een mooie oplossing, en genereerd een unieke salt per user.

@Marco,

Mocht je toch een unieke salt per user willen, zou ik de methode van Erwin aanhouden.
 
- Marco -

- Marco -

20/12/2012 11:42:31
Quote Anchor link
Ik heb nu zoiets voor bij het registreren:
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
<?php
    function generateCode($length=8)
    {

        $string = "";
        $possible = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_+=";
        for($i=0;$i < $length;$i++)
        {

            $char = $possible[mt_rand(0, strlen($possible)-1)];
            $string .= $char;
        }

        return $string;
    }


    // Deze word opgesladen in de database bij de registratie van een gebruiker
    echo generateCode(40)."\n";    
    echo "<br>";
    ?>


Ik krijg alleen het laatste stukje niet werkend:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$generateCode
= function generateCode;
echo $generateCode;
?>
 
Chris PHP

Chris PHP

20/12/2012 11:49:32
Quote Anchor link
Hier gebruik je mt_rand, je krijgt dus telkens een ander resultaat als je deze functie aanroept. Hoe controleer je nu met het opgeslagen wachtwoord?
 
- Marco -

- Marco -

20/12/2012 11:50:11
Quote Anchor link
Door dat random nummer als salt op te slaan in de database?
en dan later als de gebruiker wilt inloggen checken USERNAME=USERNAME
en dan pakt die het opgeslagen salt uit de db en encrypt die het password en vergelijkt die dat.
Gewijzigd op 20/12/2012 11:51:02 door - Marco -
 
Erwin H

Erwin H

20/12/2012 11:53:10
Quote Anchor link
Chris NVT op 20/12/2012 11:14:48:
Zolang je idd niet wijzigende gegevens van een gebruiker hanteert is dat een mooie oplossing, en genereerd een unieke salt per user.

Dat is inderdaad wel key. Als je bijvoorbeeld zijn geboortedatum neemt en die blijkt opeens toch niet te kloppen...

@Marco,
Genereer dat random nummer dan buiten de functie en geef het mee aan de functie. Anders moet je het vanuit de functie terugsturen.
 
Chris PHP

Chris PHP

20/12/2012 11:58:05
Quote Anchor link
@Marco,

Als je toch perse je salt wilt opslaan moet je dat maar doen, ik raad het alleen niet aan. Ga voor de methode van Erwin, stukken veiliger en makkelijk te hanteren.
 
- Marco -

- Marco -

20/12/2012 11:59:57
Quote Anchor link
Ja maar wat erwin gebruikt kan ik niet gebruiken want die gegevens waarmee hij een salt maakt sla ik niet op.
Behalve UserID voor de rest kan de user alles aanpassen.
En om van userid een random salt te maken heeft net zo veel effect als helemaal een random salt te maken.
Gewijzigd op 20/12/2012 12:00:26 door - Marco -
 
Chris PHP

Chris PHP

20/12/2012 12:04:38
Quote Anchor link
@Marco,

Ook met variabele gegevens werkt de methode van Erwin, ook vrij simpel aan te passen.

Stel je maakt gebruik van bijvoorbeeld voornaam, achternaam en geboortedatum om een salt te genereren. Dan is het heel makkelijk aan te passen wanneer een gebruiker bijvoorbeeld zijn achternaam wijzigd.

In de profiel wijzigen pagina waar de gebruiker dus zijn gegevens kan wijzigen laat je hem zijn gegevens wijzigen. Dus stel hij is aangemeld met piet hein, en hij maakt er jan hein van. Dan kun je dus voor het opslaan de gebruiker verplichten zijn wachtwoord in te vullen (ter beveiliging als reden bijvoorbeeld).

Op dat moment genereer je op de zelfde gegevens een nieuwe hash met zijn wachtwoord en gewijzigde naam, en sla je dit vervolgens op. Dus dan is de hash aangepast naar de nieuwe 'vaste' gegevens als salt, en heb je geen problemen tijdens het inloggen.

Vrij makkelijk te maken zie je wel.
Gewijzigd op 20/12/2012 12:05:15 door Chris PHP
 

Pagina: « vorige 1 2 3 4 5 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.