Sha1 Md5 Salt

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior pega developer

You work on software that makes colleagues and customers happy! Thanks to your IT skills, De Mandemakers Groep really makes a difference for its customers. Do coding, testing and deployments make your heart beat faster? Then apply today as Senior Pega Developer at De Mandemakers Groep! Wat ga je doen? The job title gives it away: You will be developing Pega software. This ranges from technical design, coding and testing to test automation, deployments and bug fixing. Your goal is to continuously improve our systems so that colleagues can work efficiently and customers receive optimal service. You don't have to

Bekijk vacature »

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 »

Front-end Developer

Dit ga je doen Het onderhouden, ontwikkelen en testen van front-end software van diverse klant- en medewerkersapplicaties; Het ontwikkelen van maatwerk front-end oplossingen in Vue.js en participeren in een scrumteam; Mede-verantwoordelijk voor het begeleiden en coachen van drie junior front-end developers; Verantwoordelijk voor code-reviews en het opstellen van de juiste documentatie zoals userstories en API ontwerp; Participeren in diverse projecten t.b.v. optimalisatie van diverse applicaties; Het opzetten van API koppelingen met externe applicaties. Hier ga je werken Betreffende organisatie is gevestigd in de regio van Swifterbant en is al ruim 20 jaar lang bedreven in het ontwikkelen en aanbieden van

Bekijk vacature »

Ervaren PHP ontwikkelaar

Functie Jij als PHP ontwikkelaar komt te werken in een team van 4 andere PHP ontwikkelaars. Je zult je voornamelijk bezig houden met: – Het ontwikkelen van nieuwe features – Doorontwikkelen van de API – Nadenken over de technische infrastructuur – Datakwaliteit Samen met het team ben jij verantwoordelijk voor de verdere ontwikkeling van de software en om de positie als marktleider in Europa te behouden. Ze werken volgens SCRUM in 2 wekelijkse sprints, werken met Jira voor alle tickets en communiceren veel via Slack. Eisen • Minimaal 3 jaar ervaring als back end developer • Je hebt affiniteit met

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 »

.NET developer

Functie Als junior .NET ontwikkelaar ga jij aan de slag in één van de 5 IT teams van dit bedrijf. Jullie werken op basis van interne klantprojecten aan voornamelijk webapplicaties. Dit betekent dat jij continu uitgedaagd wordt en veelal met verschillende soorten projecten bezig bent. Het gave is dan ook dat jullie als team samen bekijken welke technieken het beste passen bij het project waar jullie verantwoordelijk voor zijn. Zo kan het zijn dat jij als .NET developer gaat werken aan een project, maar dat jullie als team liever gebruik maken van Haskell of F# om de klus te klaren.

Bekijk vacature »

Senior Software Developer C++

Vacature details Vakgebied: Software/IT Opleiding: Senior Vacature ID: 13342 Introductie Do you want to work for one of the most innovative companies located in the region of Eindhoven. Currently Due to growth we are looking for a Senior Software Developer. Our client is a high-tech company with international roots and can provide you with a challenging opportunity. Functieomschrijving Responsibilities: Design, develop, and maintain high-quality software applications in C++ Collaborate with other engineers, product managers, and stakeholders to understand requirements and develop solutions Write clean, maintainable, and efficient code Conduct thorough testing and debugging to ensure high-quality software Optimize applications for

Bekijk vacature »

Traineeship Front-end developer (WO, 0 tot 3 jaar

Functie Zoals beschreven ga je vanaf start aan de slag bij een passende opdrachtgever, hierbij kijken ze echt naar jouw wensen, kennis/ervaring maar ook de reisafstand. Momenteel hebben ze meerdere klanten waarbij ze groepen hebben opgezet wat maakt dat er diverse uitdagende kansen liggen. Naast het werken bij de opdrachtgever, en het volgen van de masterclasses, zul je regelmatig met de andere trainees in contact zijn. Niet alleen op professioneel vlak maar juist ook bij de borrels en kwartaaluitjes! Kortom; een jaar lang hard aan jezelf werken in combinatie met gezelligheid en plezier. Spreek dit jou aan? Dan komen we

Bekijk vacature »

Front-end developer (HTML, CSS, SASS, JavaScript)

Functie Momenteel zijn we voor ons Digital team op zoek naar een (medior) Front-end developer. Samen met je collega’s werk je in een Agile/Scrum omgeving aan de ontwikkeling van onze webapplicaties, websites en andere oplossingen. Je draagt bij aan een sterk ontwikkelproces waarin kwaliteit voorop staat. Hiervoor ben je niet alleen bezig met eigen code maar ook code reviews van andere collega’s. Ben jij graag op de hoogte van de nieuwste ontwikkelingen in je vakgebied en wil je deze toepassen voor diverse projecten? Dan komen wij graag met je in contact! Eisen • HBO werk- en denkniveau • Minimaal 2

Bekijk vacature »

Senior .NET Ontwikkelaar

In het kort Als Senior .NET ontwikkelaar ga je binnen onze business unit Transport en Logistiek aan de slag met complexe maatwerk software voor bedrijf kritische systemen binnen de technische automatisering. Denk bijvoorbeeld een IoT-oplossing voor de logistieke sector waarbij we van ruim 200.000 machines de telemetrie en events verwerken. We zijn actief in de distributielogistiek, havenlogistiek (denk aan ECT) en productielogistiek. Naast C# en .NET Core maken we ook gebruik van Azure technologie. En als trotse Microsoft Gold Partner leren we graag van en met jou. Wil jij jezelf blijven ontwikkelen binnen de technische automatisering met .NET, dan gaan

Bekijk vacature »

Junior .NET developer

Functie Als junior .NET ontwikkelaar start jij in een ontwikkelteam met 7 .NET developers. In ons team werken er drie senior .NET developer, twee medior .NET developers en twee junior .NET developers. Er is dan ook genoeg senioriteit in ons team om jou te kunnen bieden wat jij nodig hebt! Wij werken in scrum en hebben drie wekelijkste sprints. Daarnaast doen wij minimaal vier keer per jaar een release. Ons platform is ontzettend complex en groot. Het is dan ook in het begin belangrijk dat jij de processen gaat begrijpen. Jij krijgt dan ook een cursus om beter te begrijpen

Bekijk vacature »

Senior Mobile Developer

Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Ga je bij ons als Senior Mobile Developer aan de slag? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Deze snelgroeiende groep collega’s krijgt energie van hun vak en dat merk je op de werkvloer. Onze klantenkring is groot en divers, dat vraagt om flexibiliteit van jou. Tegelijkertijd betekent dit dagelijks nieuwe dingen leren én dat geen werkdag hetzelfde is. Natuurlijk krijg jij de mogelijkheid je te certificeren. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling waarbij iedereen welkom is, zowel

Bekijk vacature »

Dynamische Oracle/APEX Ontwikkelaar in de logistie

Bedrijfsomschrijving De organisatie in de regio Rotterdam is gespecialiseerd in het ontwikkelen van moderne webbased software voor de ERP branche. In totaal is er 20FTE aan specialisten actief binnen de organisatie. De ICT afdeling bestaat momenteel uit 15FTE. Ze groeien ontzettend hard en daarom zoeken zij een Oracle/APEX Developer die het reeds sterke team nog sterker komt maken. Hier werken ze op projectbasis voor verschillende grote organisaties in de logistieke sector. Het is een informele organisatie waarbinnen een fijne werksfeer heerst. Zoals aangegeven willen ze het team nog sterker maken en daarvoor zoeken ze bij voorkeur medior of senior Oracle/APEX

Bekijk vacature »

Software Developer Java

Java/Kotlin Developer Ben jij een ervaren Java/Kotlin developer met een passie voor het automatiseren van bedrijfsprocessen? Wil je graag deelnemen aan uitdagende projecten bij aansprekende klanten? En ben je op zoek naar een professioneel, ambitieus en dynamisch bedrijf om je carrière verder te ontwikkelen? Kom dan ons team bij Ritense in Amsterdam versterken! Zo ziet de functie eruit: Als Java/Kotlin developer bij Ritense ben je verantwoordelijk voor de ontwikkeling en implementatie van applicaties die bedrijfsprocessen automatiseren, zodat onze klanten slimmer, efficiënter en klantgerichter kunnen werken. Als developer ben je in de lead en zorg je voor de correcte oplevering van

Bekijk vacature »

Lasrobot Programmeur

Over de functie Off-line programma’s maken die het beste resultaat bij de lasrobot mogelijk maken De programma’s met behulp van teach verder optimaliseren Proactief meedenken over oplossingen en over de juiste invulling van lasmallen Het lasrobotproces zoveel mogelijk optimaliseren Over het bedrijf Onze opdrachtgever is gespecialiseerd in de engineering, productie en assemblage van samengestelde plaatwerkproducten en monodelen uit metaal. Onze klant werkt samen met het team aan de mooiste producten van de toekomst. Binnen dit bedrijf staat een sterk team van specialisten op het gebied van industrial design, mechanical engineering, in-house prototyping en all-round projectmanagement. Met daarbij uiteenlopende kennis in

Bekijk vacature »

Pagina: 1 2 volgende »

Michael -

Michael -

09/07/2010 11:43:11
Quote Anchor link
Hey Phphulpers,

Wat is op dit moment de veiligste manier om je wachtwoorden op te slaan?

Iedereen heeft hier natuurlijk een andere mening over en PHPHulp bevat aardig wat artikelen hier over, maar die zijn alweer wat jaartjes oud en verschillen nog al erg van elkaar en zijn lang niet allemaal veilig.

Sommige gebruiken zelfs liever geen Sha1 of Md5 maar een eigen random stukje (klik).
Volgens de reacties van Lode is sha1/md5 onveilig omdat je altijd een vaste lengte hebt. Wat vinden jullie?

Op dit moment gebruik ik altijd sha1 zonder salt. Ik wil nou graag een salt gaan gebruiken om 't toch nog iets (of heel veel?) veiliger te maken, maar het enige wat een salt doet is een wachtwoord achter het wachtwoord plakken. Vinden jullie dit echt veilig? Of gebruik je een veiligere manier? En hoe ziet jou salt er ongeveer uit? (letters,cijfers,rare tekens,of gewoon een woord?)
 
PHP hulp

PHP hulp

27/05/2026 08:18:52
 
Nibu lez

Nibu lez

09/07/2010 13:09:11
Quote Anchor link
als je een salt gebruikt wordt zoiets als dit:
md5($wachtwoord.$salt);

Je maakt dus een hash van het wachtwoord en de salt erbij, hierdoor krijg je een hele andere hash.

En Sha2 is een stuk veiliger dan sh1/md5
 
Chris -

Chris -

09/07/2010 13:49:44
Quote Anchor link
MD*, SHA* en dergelijke zijn alleen gevaarlijk als zij op de standaard manier worden gebruikt. Zelf maak ik op een slimme manier gebruik van MD5, waardoor het wachtwoord niet meer kan worden teruggehaald. Bruteforcen (als in, MD5-hash tegen een rainbow-table gooien) zal niets opleveren. Bruteforcen binnen het login-systeem moet je gewoon afketsen, zorgen dat dat niet lukt =)
 
Obelix Idefix

Obelix Idefix

09/07/2010 13:52:19
Quote Anchor link
Chris Horeweg op 09/07/2010 13:49:44:
Zelf maak ik op een slimme manier gebruik van MD5, waardoor het wachtwoord niet meer kan worden teruggehaald.


Chris Horeweg op 09/07/2010 13:49:44:
Bruteforcen binnen het login-systeem moet je gewoon afketsen, zorgen dat dat niet lukt =)


Kun je een tipje van de sluier oplichten hoe je dat dan doet?
 
TJVB tvb

TJVB tvb

09/07/2010 14:08:08
Quote Anchor link
Obelix en Idefix op 09/07/2010 13:52:19:
Kun je een tipje van de sluier oplichten hoe je dat dan doet?

Login acties bijhouden (of in ieder geval de foute)
Bij een * aantal keer van een bepaald ip of een account dat ip/account voor eenn * tijd blokkeren. En dat steeds verhogen.
BV.
2* fout = 5 minuten
Daarna weer 2* fout = 10 minuten wachten.
Dan duurt het dus al 15 minuten voordat er 5 wachtwoorden getest kunnen worden.

Bij het succesvol inloggen laten zien dat er geprobeerd is in te loggen met een fout wachtwoord vanaf ip *.*.*.*

Eventueel na * (bijvoorbeeld 10) foute logins het wachtwoord resetten en dus de gebruiker een nieuwe mailen.
 
Chris -

Chris -

09/07/2010 14:16:18
Quote Anchor link
Jep, en niets in cookies opslaan maar in een database. Kijken op welk account er wordt gebruteforced, die locken voor een (random) aantal minuten. Bij een uitgebreide aanval stuur je de beheerders een mail zodat die er nog eens naar kunnen kijken.

Over de encryptie van mijn wachtwoorden, daar vertel ik niets over. Door dat soort dingen geheim te houden, blijft het sterk =)
 
Johan Dam

Johan Dam

09/07/2010 14:44:13
Quote Anchor link
Ook zorgen dat je salt redelijk 'geheim' is, dus niet altijd "sUpErGeHeIm" gebruiken, maar op dat moment genereren, (bijvoorbeeld een hash van de microtime)

Wat bruteforcen op het formulier betreft kan je na zoveel keer foutief inloggen een captcha laten zien die eerst ingevuld moet worden voordat je weer een poging kan doen.
 
TJVB tvb

TJVB tvb

09/07/2010 14:50:09
Quote Anchor link
Johan, het ligt eraan waarvoor je die hash gebruikt.
Elke keer een nieuwe salt genereren is leuk. Maar als je het gebruikt om de wachtwoorden op te slaan is dat niet handig. Je moet namelijk het wachtwoord later wel kunnen communiceren.
 
Chris -

Chris -

09/07/2010 14:55:00
Quote Anchor link
Johan Dam op 09/07/2010 14:44:13:
Ook zorgen dat je salt redelijk 'geheim' is, dus niet altijd "sUpErGeHeIm" gebruiken, maar op dat moment genereren, (bijvoorbeeld een hash van de microtime)

Wat bruteforcen op het formulier betreft kan je na zoveel keer foutief inloggen een captcha laten zien die eerst ingevuld moet worden voordat je weer een poging kan doen.


Ligt er overigens wel aan wat voor soort CAPTCHA je gebruikt. Er zijn genoeg CAPTCHA's al gekraakt namelijk... ;-)

Edit:
Verder overigens eens met TJVB, vandaar dat ik daar niet op reageer ;-)
Gewijzigd op 09/07/2010 14:55:31 door Chris -
 
Tristan nvt

Tristan nvt

09/07/2010 15:50:06
Quote Anchor link
Tsja, de meningen over Security through obscurity zijn nogal verdeeld.

Zelf haal ik m'n salts altijd van https://www.grc.com/passwords.htm. Verder zijn alle goede dingen al genoemd.
 
Jelmer -

Jelmer -

09/07/2010 15:55:27
Quote Anchor link
Chris Horeweg op 09/07/2010 14:16:18:
Over de encryptie van mijn wachtwoorden, daar vertel ik niets over. Door dat soort dingen geheim te houden, blijft het sterk =)

Security through obscurity... jaaa, die methode heeft zich prima bewezen. Het is veilig omdat ik het niet vertel ipv het is veilig omdat ik wiskundig/logisch bewezen heb dat het veilig is, en anderen dat met mij eens zijn. Doet met denken aan een "ander" debat.

Anyway, salt dient volgens mij alleen maar om rainbow tables minder bruikbaar te maken. Door salt aan je wachtwoorden toe te voegen, zorg je ervoor dat die langer wordt, en daardoor hopelijk meer uniek. Zo is de kans dat 'ie al in een rainbow table staat minder groot. Daarnaast als je hem langer maakt is de kans op collisions (twee verschillende reeksen die dezelfde hash opleveren) groter, wat dit maal in je voordeel werkt. Immers, stel dat je aan de hand van de hash het origineel vindt, dan moet je nog het wachtwoord van de salt scheiden om vervolgens in te kunnen loggen. Stel dat je een collision vindt, dan kan je het wachtwoord niet van het salt scheiden omdat je een compleet andere tekenreeks voor je hebt.

Brute-force kraken van de hash is ook lastiger, omdat je de salt moet weten of ook mee moet gokken. Lange reeks = veel mogelijkheden, dus lastiger. Daarom moet je die salt ook goed geheim houden. Je zou meerdere salt-reeksen kunnen nemen en op verschillende plekken kunnen opslaan (eentje in je PHP code, eentje in de database die uniek is per gebruiker) om zo de schade van het lekken van zo'n salt-reeks te beperken.

De manier waarop je ze vervolgens weer aan elkaar plakt, en hoe je het wachtwoord erin mengt kan verschillen. Je zou ze achter elkaar kunnen plakken, of de hash van wachtwoord + php-salt en daarna de hash van die hash + database-record-salt erover halen, al denk ik dat alles achter elkaar plakken veiliger is omdat je dan een langere reeks krijgt, en er dus meer mogelijkheden zijn die je moet verkennen wil je de reeks op basis van de hash goed gokken.
Gewijzigd op 09/07/2010 16:04:06 door Jelmer -
 
Tristan nvt

Tristan nvt

09/07/2010 15:59:17
Quote Anchor link
Security through obscurity is mooi als extra, als aanvulling op een al perfect systeem. Alleen security through obscurity is naïef en dom.
 
Michael -

Michael -

09/07/2010 16:33:54
Quote Anchor link
Chris Horeweg op 09/07/2010 13:49:44:
Zelf maak ik op een slimme manier gebruik van MD5, waardoor het wachtwoord niet meer kan worden teruggehaald.

Jammer dat je je geheim niet met ons deelt ;) waarom geen SHA1?

@TJVB: Goed idee om deze login veiligheid in te bouwen :)

Wat is nou een goede salt? Random en dan bij elke gebruiker een andere salt opslaan in de database? Maakt 't nog uit of je er speciale tekens in gebruikt?

Salt is dus alleen handig als iemand de hash weet te krijgen zodat ie deze niet kan bruteforcen. Om bruteforce op je login te voorkomen kun je 't idee van TJVB gebruiken.
Gewijzigd op 09/07/2010 17:35:42 door Michael -
 
Mitchel V

Mitchel V

09/07/2010 17:22:34
Quote Anchor link
SHA512? :D
 
Sander de Vos

Sander de Vos

09/07/2010 19:57:05
 
Niek s

niek s

09/07/2010 20:31:24
Quote Anchor link
Sander de Vos op 09/07/2010 19:57:05:


Dus iemand met een dynamisch IP mag/kan jouw systeem niet gebruiken?
Als iemand overstapt van ISP moet hij een nieuw wachtwoord aanvragen?

..etc
 
Sander de Vos

Sander de Vos

09/07/2010 22:35:06
Quote Anchor link
Niek s op 09/07/2010 20:31:24:
Sander de Vos op 09/07/2010 19:57:05:


Dus iemand met een dynamisch IP mag/kan jouw systeem niet gebruiken?
Als iemand overstapt van ISP moet hij een nieuw wachtwoord aanvragen?

..etc


Dit is maar een voorbeeld hoor, ik wil de salt ook wel veranderen naar 123.

Edit:

SALT is nu 123
Gewijzigd op 09/07/2010 23:12:34 door Sander de Vos
 
Wolf Wolf

Wolf Wolf

26/12/2011 21:58:24
Quote Anchor link
Allereerst voor alle lezers alvast fijne dagen.

Ik weet dat dit een topic van een jaar geleden is, maar het gebruik van onderstaande combinatiemogelijkheid is toch ook een goede optie. Wat vinden jullie?

sha1(md5($wachtwoord.$salt));

Overigens kan het gebruik van een IP voor controle in sommige situaties handig zijn. Persoonlijk ben ik daar niet zo'n voorstander van.
 
Wouter J

Wouter J

26/12/2011 22:53:19
Quote Anchor link
Ik heb wel eens gelezen dat door de combinatie van md5 + sha1 bij 1 string een string juist minder uniek en daardoor slechter wordt. Je kan beter 1 van de 2 gebruiken.

Verder voeg ik altijd een salt + pepper toe doormiddel van uniqid + random letters. Ik plaats tussen de salt + pepper en het wachtwoord altijd een aantal tekens, zodat ik simpel het wachtwoord eruit kan halen. Die aantal tekens ertussen zijn dan random tekens, maar wel met regelmaat. Bijv. <cijfer><letter><letter><cijfer><letter>
 
Wolf Wolf

Wolf Wolf

27/12/2011 00:11:25
Quote Anchor link
@Wouter
En ik had juist meegekregen dat het gebruik van een dubbele encryptie (dus twee encryptiemethoden) weer beter zou zijn.

Ik vraag me wel eens af hoe ver we hier in door moeten gaan. We kunnen nooit spreken van 100% veiligheid, maar wel van 100% inzet aan preventie.
 
Mark L

Mark L

27/12/2011 09:49:35
Quote Anchor link
Dubbele encryptie is goed (kijk maar naar 3DES). Maar dat is encryptie, dat moet later weer teruggelezen (ontcijferd, ontsleuteld) worden. Maar een dubbele hash is niet handig, kijk maar (willekeurige functies/strings)

Ik neem een string $str die hash ik met de functie hash(). Hieruit krijg ik de string $hash. Maar $hash krijg ik ook door $andere_string door de hash()-functie te halen.
We hebben nu dus:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
hash($string)        - $hash
hash($andere_string) /


Stel we versleutelen deze $hash nu met de functie andere_hash() [LET OP: DIT HOEFT NIET PER SE EEN ANDERE HASH TE ZIJN, DIT KAN OOK DEZELFDE FUNCTIE IN EEN ANDERE FUNCTIENAAM ZIJN!] en daar krijgen we $double_hashed uit. Maar ook $compleet_andere_string geeft $double_hashed na de hash- & de andere_hash-functie.
Dus:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
andere_hash( hash($compleet_andere_string) )        \
hash($string)        - $hash  -> andere_hash($hash) - $double_hashed
hash($andere_string) /


Nu heb je dus nog meer manieren om bij $double_hashes uit te komen... Dit probleem ontstaat doordat elke hash een surjectie is. Bij encryptie is dit niet het geval: encryptie is injectief. Vandaar dit verschil.

Het probleem is nu dus dat je drie wachtwoorden hebt waarmee je kunt inloggen i.p.v. twee. Je laat jouw server dus extra werk doen (hash uitrekenen kost rekenkracht!) zodat je makkelijker gehackt kan worden...

P.S. bij de gegeven strings zat de salt er natuurlijk al bij ;)
Gewijzigd op 27/12/2011 09:50:21 door Mark L
 

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.