Wachtwoord genereren, hoeveel veiliger kan dit?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Full Stack .NET Developer

Bedrijfsomschrijving Onze klant is een vooraanstaand softwarebedrijf in de regio Amersfoort. Ze leveren oplossingen in de cloud (SaaS) aan meer dan 2 miljoen gebruikers. Dagelijks ondersteunt hun software 2000 klanten door middel van verschillende HR-oplossingen. Dit doen zij samen met 1000 collega’s. Zelf kom jij te werken in een klein, hecht en gedreven team bestaande uit zes collega’s. Samen met dit team zorg jij er onder andere voor dat 2.5 miljoen Nederlanders elke maand op tijd en op de juiste manier hun salaris ontvangen. Als Full Stack .NET Developer werk je samen in een scrum-team aan het verbeteren, uitbreiden, innoveren

Bekijk vacature »

Application Developer Tech Lead

We’re Hiring! A UPS Application Developer Tech Lead *REMOTE WORK POSSIBLE FOR THIS ROLE As a Tech Lead Developer at UPS you work on delivering functionality for highly complex IT systems. You collaborate in agile teams and participate in emerging technologies and processes like CI/CD and DevOps to ensure that we meet our objectives effectively and efficiently. Your primary role is to perform full system life cycle activities, e.g. analysis, technical requirements, design, coding, testing and the implementation of software. Working in our Europe development center in Eindhoven means working in an international team with onsite people as well as

Bekijk vacature »

Full Stack Java Developer

Functieomschrijving Met jouw expertise zorg je als java developer voor de meest plezierige en efficiënte klant ervaring. Met jouw state-of-the-art-systemen verbeter je onze business en maak je echt impact! Want als je in ons tech team werkt, houd je jezelf en Nederland in beweging. Wij zijn continu bezig onze business en processen te optimaliseren, zodat we onze klanten en kandidaten meer gemak, snelheid en transparantie kunnen bieden. Impactvolle tech, daar doen we het voor. Artificial intelligence, machine learning en innovatieve zoek oplossingen. Zoek oplossingen? Yes! Solliciteren moet makkelijk en leuk zijn. Toch? Daar kan jij aan bijdragen! wat ga je

Bekijk vacature »

Application Developer Tech Lead

We’re Hiring! A UPS Application Developer Tech Lead *REMOTE WORK POSSIBLE FOR THIS ROLE As a Tech Lead Developer at UPS you work on delivering functionality for highly complex IT systems. You collaborate in agile teams and participate in emerging technologies and processes like CI/CD and DevOps to ensure that we meet our objectives effectively and efficiently. Your primary role is to perform full system life cycle activities, e.g. analysis, technical requirements, design, coding, testing and the implementation of software. Working in our Europe development center in Eindhoven means working in an international team with onsite people as well as

Bekijk vacature »

Java Software Ontwikkelaar

Heb jij ervaring met applicatieontwikkeling, testen en onderhoud van business-kritische applicaties? Wil je graag het verschil maken voor onze projecten bij de Nederlandse overheid, sociale zekerheid en gezondheidszorg? Wil je deel uitmaken van een zeer succesvol team? Wat ga je doen? De wereld om ons heen verandert in snel tempo. We zien dat technologie een steeds belangrijkere rol speelt in onze samenleving. CGI bouwt innovatieve oplossingen voor deze veranderende wereld. Met jouw team bouw je aan slimme oplossingen voor de digitale overheid, onder andere voor onze opdrachtgevers in de sociale zekerheid en gezondheidszorg. Als ervaren Software Ontwikkelaar houd je je

Bekijk vacature »

Junior PHP Developer

Je maakt een vliegende start van je carrière door meteen mee te bouwen aan dingen zoals een optimaal werkende website aan de hand van je PHP kennis. Wat doe je als Junior PHP Developer bij Coolblue? Als Junior PHP Developer ben je meteen vanaf de start onderdeel van een development team. Je kijkt veel mee met collega’s en volgt trainingen om te groeien als Junior Developer. Op dat moment komt je wil om steeds te blijven leren naar boven. Daarnaast pak je in de sprints ook je eigen stories op om Coolblue iedere dag een beetje beter te kunnen maken.

Bekijk vacature »

Front-end developer

Ben jij een front-end developer met feeling voor design en animaties? Wil je werken met moderne tools en ben jij ervaren met SCSS/SASS? Wil jij samenwerken met onze backenders en onze UX / visual designers om toffe cases en de nieuwste technieken inzetten voor onze klanten? 24 - 40 uur Samenwerken met designers en developers Zelfstudie budget Tijd voor nette code Certificaten halen Marktconform salaris incl moderne pensioenregeling en bonus Jouw functie als front-end developer Je gaat bij ons werken aan maatwerk (web)applicaties voor verschillende opdrachtgevers, complexe websites in Drupal CMS en soms een eenvoudige website in Wordpress. Dat doe

Bekijk vacature »

Junior BI Developer

Bedrijfsomschrijving De organisatie waar je komt te werken als BI Developer is een grote internationale financiële instelling. Met vele vestigingen in Nederland zijn ze een belangrijke speler op de financiële markt. Jij zal hoofdzakelijk op het kantoor in Amsterdam werkzaam zijn, maar het kan ook voorkomen dat je af en toe naar een andere vestiging gaat. Het bedrijf telt ongeveer 5000 medewerkers waarvan ruim 150 ICT'ers. Het team waar je in komt te werken als (Junior) BI Developer is een ambitieus BI team dat zich bezighoudt met lokale en internationale uitdagingen. Zo zit een andere Junior BI Developer, 2 Medior

Bekijk vacature »

Full Stack Java Developer

Functieomschrijving Wil jij zorgen voor de meest plezierige en efficiënte klant ervaring? Wil jij werken met state-of-the-art-systemen, onze business verbeteren en echt impact maken? Wat ga je doen als Full-stack Java Developer? Met jouw slimme en gave oplossingen breng je mensen en werk dichter bij elkaar. Samen met jouw team uiteraard. Binnenstromende functionele vragen vertalen naar technische creatieve oplossingen. Daar mag jij je in gaan vastbijten. Jouw focus bij ons zal liggen bij het 'self-service portaal' voor klanten, waar onze producten en diensten digitaal worden aangeboden aan onze klanten. Een portaal wat wij continue willen doorontwikkelen en dus ook onze

Bekijk vacature »

Full Stack Java Developer Graduate Program –

Via Experis Academy krijg je een unieke kans om de in de branche gewilde expertise op te doen die jou tot een gewilde Full Stack Java Developer met een frontend-specialisatie maken. Het programma duurt 21 maanden en eindigt met een vaste baan bij een van onze vele, boeiende klanten, of je blijft bij ons (Experis) werken. Ons programma tot Java Developer Experis Academy start met een op maat gemaakte cursus die drie maanden duurt. Gedurende deze maanden komen theorie, praktijk en Java-certificeringen aan bod. Hierbij is het onderwijsprogramma gebaseerd op de principes als versnelde training en flipped classroom. De volgende

Bekijk vacature »

.Net Software Developer – Smart Logistics

Heb jij ervaring met applicatie ontwikkeling, testen en onderhoud van business-kritische .NET applicaties? En wil je graag met de nieuwste technologieën werken binnen een DevOps scrumteam? Wat ga je doen? “Use digital to move smarter De unit Smart Logistics binnen de Transport & Logistics sector van CGI ontwerpt, bouwt en onderhoudt veelal missie-kritische applicaties voor onze klanten uit de transport en logistieke sector. Zonder deze sector worden onze pakketjes niet op tijd afgeleverd, rijden de treinen niet meer van a naar b en varen schepen niet veilig de haven binnen. Om deze transport en logistieke ketens te monitoren en sturen,

Bekijk vacature »

Ervaren C#/Azure developer werkt mee aan backend p

Voor een innovatieve bouwonderneming die al meer dan 113 jaar bestaat, zijn wij op zoek naar ervaren .Net/C#/Azure developers. Het bedrijf bouwt een (pre-fab) huizenfabriek die 4000 woningen per jaar kan produceren. Deze woningen worden dan modulair op de bouwplaats in elkaar gezet en worden met duurzame (recyclebare) materialen gemaakt en geplaatst. Dit zonder PFAS en zeer weinig NOX. Als .Net developer maak je deel uit van een multidisciplinair team met andere .net developers, BI consultant, systeem- en applicatiebeheerders. Je gaat meebouwen aan de middleware-laag waar 30+ applicaties (waaronder erp systemen) gekoppeld kunnen worden. Deze integraties komen samen op het

Bekijk vacature »

IT Traineeship, open voor alle studieachtergronden

IT Traineeship Zonder IT opleiding aan de slag in de IT, de meest innovatieve bedrijfssector op dit moment? Dat kan! Ontdek je innerlijke IT’er tijdens de Calco MasterClass. Een uniek IT traineeship waarin wij ambitieuze nog-niet IT’ers opleiden tot hét talent van de toekomst. Crisis of geen crisis, baanzekerheid in deze sector is nagenoeg 100%! Onze opdrachtgevers zitten door heel het land. Iets voor jou? We vertellen je graag meer! Over de Calco MasterClass De eerste twee maanden van de Calco MasterClass word je opgeleid in ons opleidingscentrum in Amsterdam (uiteraard met inachtneming van de corona maatregelen en een hieraan

Bekijk vacature »

Junior BI ontwikkelaar (Front-end)

Junior BI ontwikkelaar (Front-end) Proactief – klantgericht – communicatief vaardig – analytisch Op zoek naar een functie waar jouw inbreng en kennis meer dan welkom is? Lees hieronder meer over deze vacature. De functie Als Junior BI ontwikkelaar (Front-end) ben je onderdeel van een gedreven intern BI-team. Binnen het team ben jij, samen met twee collega’s, verantwoordelijk voor de front-end ontwikkelingen. Je taken zijn: Het afstemmen en uitwerken van gebruikersaanvragen en informatie analyses; De bouw van rapportages en dashboards en het beheren hiervan; Het verbeteren van de processen; Meedenken over de ontwikkeling van het BI-domein. Het team is zo opgezet

Bekijk vacature »

IAM developer

Functieomschrijving IAM, voor jou hoeven we dat niet te vertalen toch? Want jij weet exact waar wij het over hebben bij het benoemen van Identity Access Management. Ben je toe aan een informele, mensgerichte omgeving met vrijheid, ondernemerschap, creativiteit en focus op innovatie? Dat zijn wij! En laten wij nou op zoek zijn naar jou, een IAM developer die ons team helpt Randstad naar een veilige toekomst te helpen. Als IAM developer bij ons ben jij samen met de overige teamleden aanspreekpunt binnen de organisatie ten behoeve van functionele en technische vragen omtrent Identity & Access Management. Samen met andere

Bekijk vacature »
G P

G P

20/08/2012 02:59:05
Quote Anchor link
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
<?php

function txt_to_pass ($txt = NULL, $times = 3){
    $alfa = 'abcdefghijklmnopqrstuvwxyz0123456789';
    $beta = 'kgnvy39bwmp41sjx02eqfci6lau8hdrzt7o5';
    $txt = isset($txt) ? $txt : NULL;
    $new_pass = '';
    for ($check=0; $check<strlen($txt); $check++){
        $letter = substr($txt, $check, 1);
        $found = '0';
        for ($i='0'; $i<=strlen($beta); $i++){
            if (substr(strtolower($alfa), $i, 1) == strtolower($letter)){
                $found = '1';
                if ($letter === strtolower($letter)){
                    $new_pass .= substr(strtoupper($beta), $i, '1');
                }
elseif($letter === strtoupper($letter)) {
                    $new_pass .= substr(strtolower($beta), $i, '1');
                }
else {
                    $new_pass .= $letter;
                }
            }
        }

        if ($i > strlen($beta) && $found == '0'){
            $new_pass .= $letter;
        }
    }

    for ($i=0; $i<$times; $i++){
        $new_pass = strrev($new_pass);
        $new_pass = sha1($new_pass);
    }

    return $new_pass;
}


print txt_to_pass('Mijn Wachtwoord!', 1).'<br />'.PHP_EOL;
print txt_to_pass('Mijn Wachtwoord!', 5).'<br />'.PHP_EOL;
print txt_to_pass('MijnWachtwoord', 5).'<br />'.PHP_EOL;

?>
Kan dit nu nog veiliger?
 
PHP hulp

PHP hulp

13/05/2021 14:15:15
 
Eddy E

Eddy E

20/08/2012 09:22:17
Quote Anchor link
Regel 6 lijkt me wat overbodig, aangezien je dat op regel 3 ook al doet. Als er geen eerste string wordt geleverd, dan is $txt altijd NULL.
Tenslotte doe je dat met $times ook niet.

Voor de rest, prima zo toch?
crypt() doet iets vergelijkbaars....
 
Kris Peeters

Kris Peeters

20/08/2012 10:52:56
Quote Anchor link
Ik zou er trouwens dit van maken:

function txt_to_pass ($txt = '', $times = 3){

Binnenin de functie wordt $txt overal gebruikt als string. Dan liever een lege string dan een NULL
 
Flip --

Flip --

22/08/2012 13:02:23
Quote Anchor link
Regel 11: $i wordt defineerd als string en wordt dan incremented++. Zal vast wel werken, zeer vreemd wel.

$found lijkt als boolean te worden ingezet, gebruik dan ook true en false in plaats van string waarders '0' en '1'

regel 14 type controle overbodig.

Maar je originele vraag: ja het kan altijd veiliger, bcrypt() is een van de veiligste, zo niet de veiligste.

Even de uitleg:

Regel 8-26: je genereerd / verandert letters op een bepaalde manier --> kan gekraakt worden. Dit is zeg maar een beetje geheimcode zoals we dat op school deden, het alfabet en dan 5 letters verschuiven (maar dan de geavanceerde versie).

Regel 27-30: $times op 1 of 5 instellen is nog te snel. strrev() voegt verder niets toe aan het moeilijker maken om te kraken (relatief). sha1 is een twijfelachtig hashing algoritme gebruik sha256 als je al geen bcrypt wil gebruiken.

En verder .. waar is je salt ?!?! als $beta een salt moet voorstellen dan pak je dezelfde salt voor ieder wachtwoord. Maar je moet voor ieder wachtwoord een nieuwe unieke sat genereren en deze samen met het wachtwoord opslaan.
 
- Ariën -
Beheerder

- Ariën -

22/08/2012 13:04:20
Quote Anchor link
De salt hoort niet in deze functie.

Dit is alleen het genereren van een random string, voor bijv. een password.
De encryptie komt er later bovenop... ;-)
Gewijzigd op 22/08/2012 13:05:41 door - Ariën -
 
Flip --

Flip --

22/08/2012 13:43:38
Quote Anchor link
Voor het genereren van een random string heb je geen input nodig 'Mijn Wachtwoord!'.

Verder wordt er ook geen encryptie toegepast bij wachtwoorden maar hashing.
 
Pim -

Pim -

27/08/2012 18:24:46
Quote Anchor link
Waarom zou dit beter zijn dan:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
$chars
= 'abcdef...';
$str = '';
for($i = 0; $i < $len; $i++) {
    $str .= $chars[ mt_rand(0, strlen($chars)-1) ];
}

?>
 
Niels K

Niels K

27/08/2012 18:59:17
Quote Anchor link
Waarom wil je het genereren van een wachtwoord veilig maken?

Wat dacht je van deze Pim ? ;-)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
<?php
$pass
= substr(str_shuffle('abcdefghijkmnpqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ23456789'), 0, rand(6,8));
 



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.