Wachtwoord encrypten

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Back-end .NET Developer

Functie omschrijving C# / .NET Developer gezocht voor een dynamische organisatie in de regio Houten! Voor een leuke organisatie in de regio Houten zijn wij op zoek naar een Back-end developer die klaar is voor een nieuwe uitdaging. In deze functie werk jij aan verschillende projecten en ga je vaak bij klanten op bezoek. Binnen deze functie kun je een grote mate van uitdaging, diversiteit en verantwoordelijkheid treffen. Bedrijfsprofiel Waar ga je werken? Het bedrijf waar je gaat werken is gespecialiseerd in het ontwerpen en implementeren van procesautomatisering en procesinformatisering. Zij doen dit onder andere voor de (petro)chemie, pharma, infra,

Bekijk vacature »

(Junior) PHP Ontwikkelaar bij een retail bedrijf i

Bedrijfsomschrijving Ben jij een ervaren PHP ontwikkelaar met een passie voor retail en ICT? Wil jij werken in een team dat zich bezighoudt met het ontwikkelen van uitdagende applicaties voor een groot retailbedrijf in Delft? Dan zijn zij op zoek naar jou! Functieomschrijving Als PHP Ontwikkelaar werk je in een team aan de ontwikkeling van applicaties die door de gehele organisatie worden gebruikt. Je bent verantwoordelijk voor het ontwikkelen, testen en implementeren van deze applicaties. Je werkt hierbij nauw samen met andere ontwikkelaars, projectmanagers en stakeholders binnen de organisatie. Je taken bestaan onder andere uit: Ontwikkelen van nieuwe functionaliteiten en

Bekijk vacature »

Backend Developer PHP Laravel SaaS

Dit ga je doen Het ontwikkelen van nieuwe features die bijdragen aan de groei van de klanten van de organisatie; Je denkt mee over nieuwe innovaties, features en verbeteringen in de applicatiearchitectuur; Je draagt bij aan de continue ontwikkeling van jouw team doordat je elke dag streeft naar het verbeteren van jouw eigen prestaties; Je neemt actief deel aan Scrum meetings en de Backend Guild. Hier ga je werken Voor een snel groeiend bedrijf, in de regio Nieuw Vennep, zijn wij opzoek naar een ervaren Backend Developer. De organisatie is actief in de e-commercebranche en ontzorgt haar klanten middels een

Bekijk vacature »

Developer

Functie omschrijving In deze functie ga je werken als C# Developer. Jij gaat aan de slag met de volgende taken: Maatwerk software bouwen; Huidige softwareprojecten verder uitbouwen en optimaliseren; Ideeën van de klant omzetten naar handige oplossingen en tools; Bovenstaande doe je middels de Microsoft- stack: C#, ASP.NET en MVC/ Entity Framework. Ben je net afgestudeerd aan een HBO opleiding Informatica, aarzel dan niet om te solliciteren. Dit is namelijk de ideale startersfunctie! Bedrijfsprofiel Deze organisatie is gevestigd in de regio van Boxtel. Het is van oorsprong een familiebedrijf, die gestart zijn met het bouwen van websites. Dit is door

Bekijk vacature »

Laravel / PHP developer gezocht!

Functie omschrijving Wij zijn op zoek naar een Laravel PHP Developer voor een leuk bedrijf in de omgeving van Amsterdam! Je zult je bezig houden met de volgende werkzaamheden: Je gaat aan de hand van de wensen van klanten software ontwikkelen; Je bent bij het gehele proces betrokken; van A tot Z; Je hebt na de oplevering contact met de klant wanneer zij problemen ervaren; Je denkt mee over het verbeteren van de werkprocessen; Je denkt mee over softwareoplossingen; Je speelt in op de behoefte van de klant; Je houdt je bezig met het verbeteren, aanpassen en vernieuwen van de

Bekijk vacature »

Database Developer

Functieomschrijving Heb jij ongeveer 3 jaar ervaring als Database Developer met MS SQL of een vergelijkbare database? Wil jij werken voor een gewaardeerde werkgever in regio Tilburg waar jij de tijd en ruimte krijgt jezelf te ontwikkelen? Lees dan snel verder! Hoe ziet jouw takenpakket eruit? Je houdt je bezig met het creëren en bouwen van MS SQL server databases; Je gaat projecten vanaf het begin tot het eind begeleiden. Je sluit aan bij meetings met klanten om hun processen in kaart te brengen. Vervolgens voer jij het project uit en zorgt dat dit zo goed mogelijk verloopt; Je werkt

Bekijk vacature »

C#.NET Developer

Functieomschrijving Voor een software ontwikkelaar in de omgeving van Vught zijn we op zoek naar een gemotiveerde C# ontwikkelaar. Deel jij hun passie voor development en dan vooral in C#.NET? Dan kan dit wel eens jouw droombaan zijn! Jouw werkzaamheden zullen er ongeveer als volgt uit gaan zien Door de wensen van de klant goed te begrijpen ga jij aan de slag dit om te zetten naar passende oplossingen en werk je deze uit tot een sterk eindproduct. Je gaat je bezighouden met de ontwikkeling van webapplicaties en websites, dit doe je door middel van ASP.NET, MVC Frameworks en C#.

Bekijk vacature »

Gezocht: .Net ontwikkelaars met een maatschappelij

Bedrijfsomschrijving Zoek jij als medior .Net ontwikkelaar een inspirerende werkplek bij een bedrijf met maatschappelijk verantwoordelijkheidsgevoel? Dan is deze vacature je op het lijf geschreven. De organisatie bestaat ruim 20 jaar en ze ontwikkelen in house applicaties waarmee de zorgsector enorm mee gebaat is. Jouw applicaties worden gebruikt door duizenden gebruikers waardoor je echt een waardevolle bijdrage kan leveren aan de maatschappij. Het bedrijf is zeer innovatief en vindt een goede werk/privé balans belangrijk. Je krijgt alle mogelijkheden om jezelf verder te ontwikkelen, je werktijden in te delen en daarnaast is het ook mogelijk om deels thuis te werken. Het

Bekijk vacature »

Software developer - C Sharp

Functie omschrijving Voor een opdrachtgever, met een prachtig kantoor in omgeving Wateringen zijn wij op zoek naar een software ontwikkelaar die graag werkt met C#, JAVA of Oracle. Heb jij interesse in het programmeren en ontwikkelen van software? En heb jij enige ervaring met Oracle databases en PL/SQL? Als software developer werk je met je collega's samen in een leuk en informeel team aan het (her)ontwerpen van bedrijfssystemen. Je houdt je bezig met het ontwikkelen van REST API's en je onderhoudt applicaties in Oracle PL/SQL en APEX. Vind jij het leuk om in een Agile/Scrum omgeving te werken? Wil jij

Bekijk vacature »

Machine Software Developer

Bij een bedrijf in de machinebouw, regio Roosendaal, zijn we op zoek naar een: Machine Software Developer Waar ga je werken? Onze opdrachtgever is gespecialiseerd in de grondverzetmachines. Al meer dan 50 jaar leveren ze zowel nationaal als internationaal diverse machines. Het is een familiebedrijf met een informele werksfeer. Wat ga je doen? Als Machine Software Developer ben je verantwoordelijk voor: - Je ontwerpt, ontwikkelt en debugt software voor machinebesturingssystemen en complexe landbouwmachines; - Je stelt gebruikersinterfaces op (cabinedisplays); - Op termijn ga je softwareprojecten leiden voor specifieke machines; - Inclusief planning, documentatie en validatie; - Om specificaties te verifiëren

Bekijk vacature »

Full-stack developer

Als Full-stack developer bij KUBUS houd je je bezig met het ontwikkelen van de (web)applicatie en services van BIMcollab. Samen met je SCRUM team werk je aan zowel de front- als de back-end. Als softwarebedrijf bevindt KUBUS zich in een unieke positie. We bouwen aan onze eigen producten die wereldwijd door tienduizenden gebruikers worden gebruikt. Ons bedrijf heeft precies de juiste grootte: groot genoeg om echt impact te maken in de markt, maar klein genoeg om als individuele ontwikkelaar invloed uit te kunnen oefenen en echt het verschil te kunnen maken. Ons ontwikkelteam bestaat uit ruim 40 ontwikkelaars, testers, scrum

Bekijk vacature »

.NET developer

Wat ga je doen als Full stack .NET developer Microsoft 365? Je stelt je op als sparringpartner voor het team en PO over toekomstige functionaliteiten, architectuur en mogelijke nieuwe producten. Je bent mede-verantwoordelijk voor het vertalen en omzetten van een user story in een passend technisch design. Je implementeert functionaliteiten op basis van een technisch design en user story. Je bent mede-verantwoordelijk voor het beheer van Azure DevOps, waaronder het beheer van GIT, Build Pipelines, Release Pipelines en geautomatiseerde testen. Hier herken jij jezelf in Hbo werk- en denkniveau of hoger aangevuld met relevante certificeringen en/of cursussen; Minimaal 3 jaar

Bekijk vacature »

Front end developer

Functie Jij als ervaren Front end developer bent een expert het gebied van Javascript en React. Je wordt onderdeel van een multidisciplinair team bestaande uit een PO, twee Front end developers, een DevOps/Back end developer, een UX/UI designer en een projectmanager. Verder is er iemand verantwoordelijk voor de HR en is de algemeen directeur nauw betrokken bij alle projecten. Dagelijks hou jij je bezig met de verschillende projecten die zijn opgenomen in de sprint. Daarnaast denk je mee over mogelijke oplossingen om de behoefte van de klant op de beste manier in te vullen. Verder spar jij intern met collega’s

Bekijk vacature »

Softwareontwikkelaar Cleopatra

Functieomschrijving: De directie Verkeer en Openbare ruimte van de gemeente Amsterdam beschikt over een softwareapplicatie, "Cleopatra", waarmee geautomatiseerde handhaving plaatsvindt (op basis van kentekenherkenning) van bepaalde gebieden waarin toegangseisen worden gesteld aan het verkeer. Voorbeelden ervan zijn de milieuzones, de zone zwaar verkeer, handhaving van bromen snorfietser op het fietspad en autoluwe gebieden. Voor de doorontwikkeling en uitbreiding ervan zijn gespecialiseerde softwareontwikkelaars nodig die helpen bij het programmeren van de handhavingsmodules voor nieuwe gebieden en het verbeteren en bijwerken van de bestaande onderdelen van de softwareapplicatie.De opdracht bestaat uit: het programmeren van de diverse modules;het tijdens demo's tonen van de

Bekijk vacature »

Dynamics Ontwikkelaar

Dit ga je doen Ontwikkelen van Dynamics 365 voor de interne uitrol; Samen met de consultants sparren met klanten over de wensen en eisen; Ontwikkelen van Dynamics 365 voor verschillende grote klanten; Technische analyse en testen; Meedenken over het gebruik en de richting van Dynamics binnen de organisatie. Hier ga je werken Onze opdrachtgever, gevestigd in regio Eindhoven, levert een compleet dienstenpakket op het gebied van IT. Zij pakken verschillende (complexe) vraagstukken van grote organisaties op. De sfeer intern is gezellig en informeel. Men houdt van hard werken maar gezelligheid door middel van een borrel of gezamenlijke lunch komt er

Bekijk vacature »

Pagina: 1 2 volgende »

Sam H

Sam H

23/01/2013 15:56:39
Quote Anchor link
Hey iedereen,

ik ben me wat aan het verdiepen in wachtwoordbeveiliging. Ik gebruik altijd gewoon een MD5 maar nu vraag ik me af of dit wel zo veilig is?

Ik heb al redelijk wat gelezen en heb al wel ontdekt dat je best niet meerde hashes over elkaar gebruikt omdat het dan makelijker 'te kraken' is. Hoe komt dit ik snap de analogie hier niet van. Welke methode gebruiken jullie?

Alvast bedankt
Gewijzigd op 23/01/2013 15:56:54 door Sam H
 
PHP hulp

PHP hulp

19/05/2025 14:14:47
 
- Ariën  -
Beheerder

- Ariën -

23/01/2013 16:06:54
Quote Anchor link
De beste manier is SHA1() met een unieke salt...

Dus $pass = "PHpHu1pi$7H383$7".$_POST['password'];
Zodra je de leden zich aanmelden sla je hun password op met die unieke salt ervoor. Zo is kraken zeer lastig, gezien het wachtwoord uiteindelijk minimaal 26 tekens kent (ervanuitgaande dat je alleen wachtwoorden toestaat van 6 tekens lang.
Gewijzigd op 23/01/2013 16:07:19 door - Ariën -
 
Sam H

Sam H

23/01/2013 16:17:41
Quote Anchor link
Ah ik dacht altijd dat bij een salt erdoorheen werd gegooid als volgt:
Salt: APPELS
Pass: phphulp123

=> pAhpPhPuElpL1S23

Simpel voorbeeld maar je snapt wel wat ik bedoel.

EDIT:

Ik vond over sha1 dit nog op php.net:
Quote:
Note: Secure password hashing
It is not recommended to use this function to secure passwords, due to the fast nature of this hashing algorithm. See here for details.
Gewijzigd op 23/01/2013 16:20:04 door Sam H
 
Moose -

Moose -

23/01/2013 16:18:59
 
Sam H

Sam H

23/01/2013 16:23:40
Quote Anchor link
Als ik het artikel goed versta, wilt het zeggen dat bcrypt een zeer traag encryptie algoritme is. Dus dit is veiliger omdat het voor bruteforce attacks pakken langer gaat duren? Dus het enige wat bcrypt doet, is de tijd nodig om in te loggen tragen maken, of zit ik mis?
Alvast bedankt beiden voor de hulp
 
- Ariën  -
Beheerder

- Ariën -

23/01/2013 16:26:11
Quote Anchor link
Sam H op 23/01/2013 16:17:41:

Ik vond over sha1 dit nog op php.net:
Quote:
Note: Secure password hashing
It is not recommended to use this function to secure passwords, due to the fast nature of this hashing algorithm. See here for details.

Tenzij je een salt gebruikt.
 
Sam H

Sam H

23/01/2013 16:38:43
Quote Anchor link
Ik heb hier een class gevonden die bcrypt genereert en verifieerd.
Als ik het localhost run, duurt het 9 seconden (!) voor het simpele wachtwoord 'password' te encrypten.
Dit is toch wel héél erg lang ?

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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
<?php
class Bcrypt {
  private $rounds;
  public function __construct($rounds = 12) {
    if(CRYPT_BLOWFISH != 1) {
      throw new Exception("bcrypt not supported in this installation. See http://php.net/crypt");
    }


    $this->rounds = $rounds;
  }


  public function hash($input) {
    $hash = crypt($input, $this->getSalt());

    if(strlen($hash) > 13)
      return $hash;

    return false;
  }


  public function verify($input, $existingHash) {
    $hash = crypt($input, $existingHash);

    return $hash === $existingHash;
  }


  private function getSalt() {
    $salt = sprintf('$2a$%02d$', $this->rounds);

    $bytes = $this->getRandomBytes(16);

    $salt .= $this->encodeBytes($bytes);

    return $salt;
  }


  private $randomState;
  private function getRandomBytes($count) {
    $bytes = '';

    if(function_exists('openssl_random_pseudo_bytes') &&
        (
strtoupper(substr(PHP_OS, 0, 3)) !== 'WIN')) { // OpenSSL slow on Win
      $bytes = openssl_random_pseudo_bytes($count);
    }


    if($bytes === '' && is_readable('/dev/urandom') &&
       (
$hRand = @fopen('/dev/urandom', 'rb')) !== FALSE) {
      $bytes = fread($hRand, $count);
      fclose($hRand);
    }


    if(strlen($bytes) < $count) {
      $bytes = '';

      if($this->randomState === null) {
        $this->randomState = microtime();
        if(function_exists('getmypid')) {
          $this->randomState .= getmypid();
        }
      }


      for($i = 0; $i < $count; $i += 16) {
        $this->randomState = md5(microtime() . $this->randomState);

        if (PHP_VERSION >= '5') {
          $bytes .= md5($this->randomState, true);
        }
else {
          $bytes .= pack('H*', md5($this->randomState));
        }
      }


      $bytes = substr($bytes, 0, $count);
    }


    return $bytes;
  }


  private function encodeBytes($input) {
    // The following is code from the PHP Password Hashing Framework
    $itoa64 = './ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';

    $output = '';
    $i = 0;
    do {
      $c1 = ord($input[$i++]);
      $output .= $itoa64[$c1 >> 2];
      $c1 = ($c1 & 0x03) << 4;
      if ($i >= 16) {
        $output .= $itoa64[$c1];
        break;
      }


      $c2 = ord($input[$i++]);
      $c1 |= $c2 >> 4;
      $output .= $itoa64[$c1];
      $c1 = ($c2 & 0x0f) << 2;

      $c2 = ord($input[$i++]);
      $c1 |= $c2 >> 6;
      $output .= $itoa64[$c1];
      $output .= $itoa64[$c2 & 0x3f];
    }
while (1);

    return $output;
  }
}

?>
 
Aad B

Aad B

23/01/2013 16:48:53
Quote Anchor link
Brute force gewoon uitsluiten, drie keer fout = gelocked en nieuw password aanvragen door gebruiker.
 
Sam H

Sam H

23/01/2013 16:50:12
Quote Anchor link
Ja dit gebruik ik ook (enkel ipv gelocked gebruik ik een timeout van 5 minuten).
 
Ozzie PHP

Ozzie PHP

23/01/2013 16:55:14
Quote Anchor link
Aad B op 23/01/2013 16:48:53:
Brute force gewoon uitsluiten, drie keer fout = gelocked en nieuw password aanvragen door gebruiker.

Is dat niet heel erg extreem? De gebruiker logt per ongeluk 3x verkeerd in en moet dan meteen een nieuw wachtwoord aanvragen? Lijkt me niet echt gebruiksvriendelijk.
 
Erwin H

Erwin H

23/01/2013 16:55:54
Quote Anchor link
Aad B op 23/01/2013 16:48:53:
Brute force gewoon uitsluiten, drie keer fout = gelocked en nieuw password aanvragen door gebruiker.

En wat als ze in een brute force attack een hele lijst met usernamen aflopen, maar dan met elke keer hetzelfde (een gebruikelijk) password? Ben je alsnog de Sjaak.

Brute Force attacks kan je helaas niet met een simpele beveiliging voorkomen. Als dat namelijk zou kunnen zou het niet meer voorkomen. Meerdere beveiligingen is altijd beter.
- loggen waar de aanvragen vandaan komen
- loggen op welke username er wordt geprobeerd
- inlog vertragen

En als iemand nog andere mogelijkheden heeft om attacks tegen te gaan ben ik ook nog wel benieuwd.
 
Sam H

Sam H

23/01/2013 16:59:33
Quote Anchor link
Ik sla momenteel het IP adres en username op bij een mislukte inlogpoging, is dit groter dan 3 dan geef ik die username en/of IP een timeout van 5 minuten. Nu ga ik ook bcrypt gebruiken, ik heb een class gevonden waarbij het ongeveer 3 seconden duurt om een wachtwoord te verifiëren.
Dus dit lijkt me wel veilig genoeg?

Voor de geïnteresseerden, dit is de uiteindelijke klasse die ik ga gebruiken (de vorige deed er 9 seconden over, dit lijkt me wat extreem):

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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<?php
 
class Bcrypt {
  private $rounds;
  private $prefix;
  
  public function __construct($prefix = '', $rounds = 12) {
    if(CRYPT_BLOWFISH != 1) {
      throw new Exception("bcrypt not supported in this installation. See http://php.net/crypt");
    }

 
    $this->rounds = $rounds;
    $this->prefix = $prefix;
  }

 
  public function hash($input) {
    $hash = crypt($input, $this->getSalt());
 
    if(strlen($hash) > 13)
      return $hash;
 
    return false;
  }

 
  public function verify($input, $existingHash) {
    $hash = crypt($input, $existingHash);
 
    return $hash === $existingHash;
  }

 
  private function getSalt() {
    // the base64 function uses +'s and ending ='s; translate the first, and cut out the latter
    return sprintf('$2a$%02d$%s', $this->rounds, substr(strtr(base64_encode($this->getBytes()), '+', '.'), 0, 22));
  }

  
  private function getBytes() {
    $bytes = '';
 
    if(function_exists('openssl_random_pseudo_bytes') &&
        (
strtoupper(substr(PHP_OS, 0, 3)) !== 'WIN')) { // OpenSSL slow on Win
      $bytes = openssl_random_pseudo_bytes(18);
    }

 
    if($bytes === '' && is_readable('/dev/urandom') &&
       (
$hRand = @fopen('/dev/urandom', 'rb')) !== FALSE) {
      $bytes = fread($hRand, 18);
      fclose($hRand);
    }

    
    if($bytes === '') {
      $key = uniqid($this->prefix, true);
      
      // 12 rounds of HMAC must be reproduced / created verbatim, no known shortcuts.
      // Changed the hash algorithm from salsa20, which has been removed from PHP 5.4.

      for($i = 0; $i < 12; $i++) {
        $bytes = hash_hmac('snefru256', microtime() . $bytes, $key, true);
        usleep(10);
      }
    }

    
    return $bytes;
  }
}

 
?>
 
- Ariën  -
Beheerder

- Ariën -

23/01/2013 17:03:04
Quote Anchor link
Gewoon een vertraging per IP.

3x een foute pass, 10 seconden wachttijd, daarna meer drie, en dan steeds 25 sec wachttijd en dat steeds ophogen of het IP blokkeren na verloop van tijd.

Zorg ervoor dat de gebruiker buiten schot blijft.
 
Sam H

Sam H

23/01/2013 17:03:59
Quote Anchor link
Ik heb gehoord dat hackers constant van IP adres veranderen (hoe, geen idee) en daarom doe ik ook de username.
 
Eddy E

Eddy E

23/01/2013 18:43:44
Quote Anchor link
Precies, gewoon IP en/of gebruikersnaam.
Als er op 1 gebruikersnaam 3 (of meer) inlogpogingen zijn gewoon met sleep() de boel een paar seconden vertragen.
En na 10x IP adres blokkeren (al is het maar voor 10 minuten).
 
Sam H

Sam H

23/01/2013 19:02:58
Quote Anchor link
En dan voor de hash is eigenlijk MD5 prima?
 
Eddy E

Eddy E

23/01/2013 19:55:01
Quote Anchor link
Nee, MD5 is A-Z, a-z en 0-9
Dan mis je alle $*(@&$_#Y)#€½¾@!&*()[]|\ dingen bijvoorbeeld terwijl die juist het moeilijk maken.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

23/01/2013 20:22:14
Quote Anchor link
Inderdaad, MD5 en SHA1 zijn hashes en GEEN encryptie.
Die hashes zijn algoritmes die je zelf kunt programmeren, en daardoor kan je gewoon ook simpel gestelt ze terugvoeren naar het oorspronkelijke als je de tijd en de moeite neemt.
 
Sam H

Sam H

23/01/2013 20:24:36
Quote Anchor link
Dus wat moet ik dan gebruiken? Toch Bcrypt?
 
Ozzie PHP

Ozzie PHP

23/01/2013 20:26:40
Quote Anchor link
Eddy E op 23/01/2013 18:43:44:
... gewoon met sleep() de boel een paar seconden vertragen.

Hoe moet ik dat zien... kun je dan sleep instellen op 5 minuten en doet de website dan 5 minuten niks meer?
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

23/01/2013 20:29:39
Quote Anchor link
SSL is de meest optimale beveiliging, de rest is allemaal maar een beetje extra hangsloten op de deur.
 

Pagina: 1 2 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.