Bcrypt

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Fullstack of back-end PHP developer

Functie Ieder onderdeel van de software draait op aparte servers en het bestaat dus echt uit verschillende componenten. Het team bestaat uit 4 developers, een klein team dus met korte lijnen. Alles in intern ontwikkeld en je werkt aan alle facetten. Van uitbreiding van de core tot maatwerk voor de klant. Ook liggen er verschillende uitdagingen op servervlak en databases. Je zult de eerste periode veel samenwerken met de lead developer om vervolgens echt je gang te gaan binnen de software. In het team streven ze naast de hoogst haalbare kwaliteit. Hiervoor werken ze nauw met elkaar samen en levert

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 »

Belastingdienst - Freelance Senior Cobol Applicati

Startdatum: 01.06.2023 Richttarief: €65,00 - €75,00 Duur van de opdracht: 7 maanden Uren per week: 36 Taal: Nederlands vereist! Gelieve in het Nederlands te solliciteren. Functieomschrijving: In de applicatie ETM zijn nu de inningsvoorzieningen voor ongeveer 25 aangifte- en aanslagmiddelen opgenomen. ETM is een extern aangeschafte service en het huidige contract met leverancier Oracle loopt af op 31-12-2022. Het programma uitfaseren ETM heeft als doel om vervanging te realiseren waarmee alle nu in gebruik zijnde ETM ondersteuning wordt overgenomen in nieuwe Inningsvoorzieningen om de continuïteit van de inningsprocessen te waarborgen. Eén van de inningsvoorzieningen die voor het einde van 31-12-2022

Bekijk vacature »

Full Stack Developer

Ben jij een kei van een full-stack developer? Heb je ambitie om te groeien en jezelf te ontwikkelen binnen een ambitieus bedrijf? Gaat jouw hart sneller kloppen van transpilers of frameworks zoals Angular, Vue of React? Dan ben jij de persoon die wij zoeken! Voor onze opdrachtgever zijn wij op zoek naar een full-stack developer om onderdeel te zijn van een team dat bestaat uit gedreven developers. Ieders met hun eigen specialiteiten en kennis van de projecten en behoeften vanuit de product owners. We zoeken iemand die met zijn/haar huidige competenties en domeinen dit team wil begeleiden, stimuleren en tevens

Bekijk vacature »

Laravel PHP developer in een jong team

Bedrijfsomschrijving Als je op zoek bent naar een werkplek waar plezier en uitdaging hand in hand gaan, dan is dit bedrijf de juiste keuze voor jou. Hier kun je werken aan uitdagende projecten en krijg je als developer veel verantwoordelijkheid. Het bedrijf waardeert kwaliteit boven kwantiteit en richt zich op het ontwikkelen van hoogwaardige applicaties en websites waar klanten enthousiast over zijn. Dit bedrijf is vooruitstrevend en streeft naar het leveren van de best mogelijke resultaten voor hun klanten. Als medior PHP ontwikkelaar met 3 jaar ervaring ben jij de persoon die we zoeken. Je krijgt hier de kans om

Bekijk vacature »

.NET developer

Functie Jouw team van vier collega .NET developers is verantwoordelijk voor het bouwen van de ETL processen van jouw nieuwe werkgever. Op dit moment wordt de front-end gedaan door een extern team van professionals. Echter wilt jouw nieuwe werkgever graag intern deze kennis uitbreiden en heeft dan ook de ambitie om dit voor het eind van het jaar intern te gaan aanpakken. Dit betekend dat jij als .NET ontwikkelaar de ideale kans krijgt om jezelf samen met jouw collega’s te ontwikkelen als full stack developer. Als .NET ontwikkelaar werk jij bij deze gave werkgever met C# .NET, SQL, JavaScript, REST

Bekijk vacature »

Low code Developer

Dit ga je doen Je richt je op het doorontwikkelen van bestaande applicaties en het geheel van scratch af aan opzetten van nieuwe applicaties binnen een low code platform; Je beoordeelt technisch ontwerpen en maakt de vertaalslag naar de technische oplossingen binnen het platform; Je voert testwerkzaamheden uit; Je adviseert de organisatie op jouw vakgebied; Je schakelt met business analisten en de architect om tot mooie oplossingen te komen; Je lost bugs op en denkt mee over een structurele oplossing. Hier ga je werken Het gaat om een bekend internationaal handelsbedrijf met ruim 800 medewerkers, verdeeld over verschillende deelbedrijven. Deze

Bekijk vacature »

Front-end developer

Functie Als front-end developer kom je te werken in een team van 30 gedetacheerde, en het team is momenteel flink aan het groeien. Je hebt ervaring met het bouwen van complexe bedrijfsapplicaties waar je gebruik maakt van de nieuwste technologieën waarmee jij elke klant omver blaast. Het gaat om uitdagende projecten met een gemiddelde doorlooptijd van 2 jaar. Hierdoor heb jij echt de volledige focus op een project en kun je flinke impact maken. Het team zit boordevol met ervaren developers die samen dezelfde ambitie delen. Aan de hand van opleidingen en trainingen kun je certificaten halen in jouw expertise

Bekijk vacature »

Junior PHP ontwikkelaar

Functie Wij hebben onlangs onze eerste collega’s aangenomen, waardoor ons development team momenteel uit 4 personen bestaat. We bouwen onze software op basis van een PHP-framework (wat op zichzelf een Symfony framework is). Qua ontwikkeling focussen wij ons op 3 focus velden; – API-ontwikkeling/ Component Creatie – Implementatie – Framework ontwikkeling; het toevoegen van nieuwe functionaliteit of interne microservices Onze senior software engineer focust zich momenteel op de laatste twee punten, maar wij komen handen te kort op het eerste veld. Daarom zijn wij op zoek naar een enthousiaste junior software engineer die graag de kneepjes van het vak wil

Bekijk vacature »

PHP Developer

Functie omschrijving Als PHP / Laravel developer zal je in een klein team terecht komen. Wij zijn op zoek naar een echte specialist, iemand die de balans weet te vinden tussen techniek en perfectie. In de aankomende jaren wilt dit bedrijf flink groeien en daarom zijn ze op zoek naar jou! Wat ga je doen? Je draagt bij aan het ontwikkelen en onderhouden van bestaande webapplicaties die boordevol functionaliteit zitten. Deze applicaties worden gebruikt door de organisatie zelf en ook door de klanten. Inmiddels wordt er gewerkt met Laravel 8 en zijn er diverse koppelingen naar externe leveranciers. Verder zal

Bekijk vacature »

C# developer

Functie Als ervaren Software Engineer wordt jij verantwoordelijk voor het bedenken en ontwikkelen van technische (maatwerk) oplossingen voor onze klanten en dit samen met de klant af te stemmen. Jij wordt o.a. verantwoordelijk voor de doorontwikkeling het software pakket welke voor ons enorm belangrijk is. Dit pakket zorgt er namelijk voor dat wij complete productielijnen kunnen aansturen en monitoren. Daarnaast heb jij actief contact met onze hoofdvestiging om het software achter een van onze systemen te verbeteren en te herschrijven. Momenteel zijn onze C# applicaties geschreven met o.a. Winforms. Echter hebben wij de actieve ambitie om dit te gaan herschrijven

Bekijk vacature »

Fullstack Developer

Functieomschrijving Voor een erkende werkgever in regio Etten-Leur zijn wij op zoek naar een Fullstack Developer met PHP/Laravel ervaring. Je gaat aan de slag met het bouwen van maatwerk software voor klanten die actief zijn in een specifieke markt. Als fullstack developer ben je samen met een enthousiast team van 7 collega’s verantwoordelijk voor de ontwikkeling, beheer en innovatie van informatiesystemen voor klanten in een specifieke branche. Verder ondersteun je complexe uitdagingen van klanten. Je brengt hun wensen in kaart en vertaalt deze door naar maatwerk software. Ervaring met Laravel is een must. Om de klant zo goed mogelijk te

Bekijk vacature »

Senior front-end developer (React)

Functie Momenteel zijn ze op zoek naar een ervaren front-end developer. Als senior werk je nauw samen met 5 collega developers. Een klein scrum team dus, met korte lijnen waardoor jouw ideeën snel tot uitvoering gebracht kunnen worden. De huidige applicaties worden veelal ontwikkeld met o.a. React, Redux, TypeScript. Ze zijn echt op zoek naar een kartrekker in het team. Naast het meedenken over, opzetten en uitvoeren van bijvoorbeeld de architectuur of toepassing van nieuwe technieken krijg je ook veel tijd om de meer junior (front-end) developers te begeleiden. Hierin nemen ze graag de tijd om mensen de ruimte te

Bekijk vacature »

Junior PHP Developer

Dit ga je doen Software development met behulp van C# .NET en / of PHP, je mag zelf kiezen waar jij je in wil specialiseren Meedenken over het nieuwe pakket, waar moet het aan voldoen? Unit-, integratie- en diverse andere tests schrijven en uitvoeren Nauw samenwerken met je IT collega's zoals Testers, Developers, DevOps Specialisten en Architecten Jezelf ontwikkelen met behulp van trainingen en cursussen Hier ga je werken Onze klant, een grote speler in de medische sector, is op zoek naar een enthousiaste junior (of meer ervaren) Software Developer die klaar is voor een nieuwe stap in zijn of

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 »

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 13:32:06
 
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.