Sha1 Md5 Salt

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Full Stack Developer/ Applicatie Ontwikkelaar

Wat jij doet Als Applicatie Ontwikkelaar ben je onderdeel van het team die de Rimote omgeving ontwikkeld en onderhoud. Hierbij kan je denk aan de cloud, on premise en webapplicaties welke worden gebruikt in bijvoorbeeld industriële bakkerijen, biogasinstallaties en kwekerijen. Deze applicaties verzorgen (remote) de aansturing en monitoring van processen, machines en robots. Van a tot z ben je betrokken bij projecten. Dit betekent vanaf ontwerp tot oplevering. Je moet samen met jouw team een goed product neer zetten. Dit begint met het opzetten van het ontwerp. De basis van de software moet staan als een huis. Daarvoor moet jij

Bekijk vacature »

Full stack developer Node.js

Functie Als fullstack JavaScript developer vind jij het uitdagend om op basis van concrete klantvragen nieuwe functionaliteiten te ontwikkelen. Bij voorkeur worden deze functionaliteiten op een bepaalde manier geprogrammeerd, zodat ze door meerdere klanten te gebruiken zijn. Je hebt dus vaak te maken met abstracte vraagstukken. Om dit te kunnen realiseren sta je nauw in contact met de product owner en/of klant. Je bent niet alleen onderdeel van het development team, maar hebt ook vaak contact met de product-owner en/of klanten om daardoor inzichten te verzamelen die leiden tot productverbeteringen. • Inzichten verzamelen bij de klant en/of product owner •

Bekijk vacature »

Fullstack Webdeveloper .NET Azure Big Data SaaS

Bedrijfsomschrijving Deze klant van ons is recentelijk onderdeel geworden van een grote moederorganisatie, ze zijn dé partij als het gaat om software maken voor ambitieuze ondernemers, ze maken maatwerk software. Vanuit het fantastisch vormgegeven hightech gebouw te Rotterdam centrum werken ze met zo'n 40 medewerkers aan hoogwaardige software gericht op financiële data, betaalinformatie, maar ook backoffice software. De software wordt webbased, desktop en mobile aangeboden en er worden zeer moderne ontwikkeltechnieken toegepast. Je moet dan denken aan patroonherkenning, Big Data, Machine Learning en OCR. Als Developer, ongeacht je niveau, ga je hier te maken krijgen met de allerleukste kant van

Bekijk vacature »

Full stack ontwikkelaar Laravel, Vue.js

Functie Als ontwikkelaar binnen deze organisatie hou jij je voornamelijk met lopende projecten voor de verschillende klanten. Zo bouw je de ene dag aan prijsschifting systemen en de andere dag onderzoek je crawlers en stel je ze zo in dat de data goed binnen komt binnen het systeem. Daarnaast bouw je mee aan dashboards en ben je dus constant bezig met het verbeteren van het platform. Er is een vaste werkwijze, zo werken ze met Trello kaarten en onderverdelen ze deze aan het begin van iedere week onder de developers. Dit wordt door de lead developer gedaan, maar in samenspraak

Bekijk vacature »

Senior Software developer PHP

Functie Jij als senior PHP ontwikkelaar komt te werken in 1 van onze SCRUM teams. Momenteel werken er zo’n 30 developers binnen onze organisatie Jij gaat de brug zijn tussen het bouwen van verschillende functionaliteiten binnen onze applicaties en deze vervolgens te integreren in onze centrale hub. Je start je dag om 9 uur met een stand up en dan pak je je taken op voor de dag. Een greep van jouw taken zijn: – Het bedenken en uitbouwen van features binnen de verschillende applicaties – Onderhouden van CI/CD pipelines – Bezighouden met Security & Privacy Eisen • Minimaal 4

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 »

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 »

C#.NET Developer

Functieomschrijving We are looking for a dutch native speaker In deze uitdagende functie ga je werken als onderdeel van het development team, in de functie van C#.NET Developer, Je gaat maatwerk software bouwen voor diverse klanten. Ook optimaliseer je bestaande software en bouw je API koppelingen. Je bent vooral met back-end development bezig. Je krijgt veel vrijheid in deze functie en je krijgt de kans om mee te denken in bedrijfsprocessen. Deels thuiswerken is geen enkel probleem! Bedrijfsprofiel Deze organisatie is gevestigd in de regio van Boxtel. Het is van oorsprong een familiebedrijf, die gestart zijn met het bouwen van

Bekijk vacature »

Back End Developer .NET

Dit ga je doen Ontwikkelen in C# .NET en werken aan nieuwbouw, uitbouw en onderhoud van de software (die communiceren met 68.000 sensoren, waardoor er meerdere miljoenen berichten per uur verwerkt worden); Samenwerken in Scrum Teams; Meewerken aan verschillende, uitdagende projecten; Werken met nieuwe technologieën en vrijheid krijgen om jezelf te ontwikkelen en door te groeien. Hier ga je werken Je komt als Developer te werken bij een organisatie die gespecialiseerd is in software die real-time wordt gebruikt. De software constateert waar werk moet worden uitgevoerd en de chauffeurs worden met een andere applicatie hierop geattendeerd. Ook wordt er direct

Bekijk vacature »

Fullstack developer

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en zou jij graag bij een platte maar informele organisatie werken? Voor een mooi softwarebedrijf in omgeving Alblasserdam zijn wij op zoek naar versterking op de afdeling Software Development! Als Fullstack react.js developer wordt je bij dit bedrijf onderdeel van de volledige ontwikkeling van requirement tot oplevering! Jouw focus ligt op de front end en alles wat daarbij komt kijken. Je gaat ontwerpen, ontwikkelen, testen en valideren. Je zult voornamelijk werken met React.js en Typescript. Maar ook Javascript, HTML en CSS komen aanbod. Daarnaast zal je ook regelmatig met de back

Bekijk vacature »

Medior/senior Front-end developer

Functie Je maakt deel uit van een DevOps Scrum team en werkt samen met back-end developers, test-engineers, interaction designers en een projectmanager. Er zijn verschillende groepen Scrum teams. Een roadmap team is jouw ‘’thuisbasis’’, daar wordt gewerkt aan doorontwikkeling van bestaande omgevingen voor een aantal klanten. Hiernaast zijn er projectteams waar nieuwe omgevingen worden gebouwd, of grote complexe wijzigingen worden doorgevoerd op bestaande omgevingen. Je kunt (afhankelijk van jouw wensen en doelen) dus afwisselend werken in beide teams. Hiernaast participeer je in het Chapter Front-end development waar gezamenlijk kennis en ervaring wordt gedeeld. Als Front-end developer is het jouw doel

Bekijk vacature »

Ontwikkelaar Centrale Monitoring

Ontwikkelaar centrale Monitoring Functieomschrijving Wil jij een bijdrage leveren aan het onderhoud, opzetten en ontwikkelingen van technologieën van SSC-ICT, een van de grootste ICT-dienstverleners van en voor de Rijksoverheid? Je komt als monitorspecialist te werken bij team Operations Management Services. Dit team werkt aan het stabiliseren en waarborgen van een betrouwbare monitoromgeving voor 7 ministeries. Jij begeleidt het implementatieproces van de te monitoren technologieën, onder andere via management packs, connectoren en API's. Je hebt hiervoor veel contact met interne en externe klanten, die hun wensen op het gebied van monitoring aan jou doorgeven. Je beoordeelt deze wensen en komt met

Bekijk vacature »

Senior Fullstack developer wanted! (C#, Java, Angu

Functie Under the guidance of 3 account managers, one of whom will be your point of contact within your expertise, you will start working for various clients. He or she will help you find a suitable and challenging assignment. Naturally, they will take your situation, experience and (technical) ambitions into account. The assignments last one to two years on average. This allows you to really commit to a project and make an impact as a consultant. Besides the assignment, you will regularly meet your colleagues from the IT department to share knowledge or discuss new trends, for example. Master classes

Bekijk vacature »

Senior Javascript developer

Functie Het platform is gebouwd in een moderne JavaScript stack, die gebruikt maakt van:  React.js  Redux  TypeScript  Node.js  Google Cloud functions (node.js)  Semantic UI Alle code wordt getest en beoordeeld door collega developers. De continuous integration pipeline maakt het mogelijk om elke dag waarde te leveren aan hun klanten. Het ontwikkelproces is pragmatisch en gebaseerd op Scrum. Wat je zult doen: Ten eerste kun je nadrukkelijk jouw eigen stempel drukken op de technologie, het product en de cultuur van het bedrijf. Je bent bezig met het uitwerken van de architectuur van nieuwe functionaliteiten op

Bekijk vacature »

Full-stack Developer

As a Full-stack developer at KUBUS, you will develop the (web)applications and services of BIMcollab. You will work on both the front- and back-end. As a software company, KUBUS is in a unique position. We build our own products that are used by tens of thousands of users worldwide. Our company is just the right size: big enough to make a real impact in the market, but small enough that as an individual developer you can have an impact and really make a difference. Our development team consists of over 40 developers, testers, scrum masters and product owners, divided over

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

08/07/2025 19:45:23
 
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.