Sha1 Md5 Salt

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Front-end developer gezocht

Functie Je komt in een team met ambitieuze developers die de passie voor Front-End met jou delen. Samen ga je aan de slag met leuke en leerzame opdrachten. Het team heeft een eigen budget en financiën en zij bepalen zelf hoe dat besteed en investeert wordt. Je gebruikt tools als JavaScript, Node.js, React, Angular, Typescript en Vue.js wanneer je werkt aan de opdrachten. Daarnaast zul je veel leren van je collega’s en gezamenlijk een leuke tijd doorbrengen tijdens activiteiten zoals wintersport, hackatons en conferentiebezoeken. Je krijgt niet alleen de mogelijkheid Front-End te ontwikkelen, maar ook vooral jezelf. Dit kan behaald

Bekijk vacature »

Back-End Web Developer

Als Back-End Web Developer bij Coolblue zorg je ervoor dat onze webshops elke dag een beetje beter zijn. Wat doe je als Back-End Web Developer bij Coolblue? Als Back-End Web Developer werk je met andere development teams samen om onze webshop zo optimaal mogelijk te laten werken en onze klanten blij te maken. Als backend developer weet je de weg in PHP, kan je in Typescript een microservice op zetten of ben je bereid om dit te leren. Ook Web Backend Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te doen PHP

Bekijk vacature »

SQL database ontwikkelaar

Functie omschrijving Ben jij niet bang voor complexe algoritmes? Schikt het schrijven van procedures in T-SQL jouw niet af en heb jij al de nodige informatie in SQL, dan is functie precies wat voor jou! Jouw werkzaamheden gaan er als volgt uit zien: Je gaat werken aan de complexere projecten waar jij van A tot Z bij betrokken bent. Je gaat zorg dragen voor het ontwerp, de ontwikkeling en het updaten van SQL databases. Dit doe je op basis van T-SQL. Jij bent van start tot finish betrokken bij de projecten die jij leidt. Je houdt contact met klanten en

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Productontwikkelaar Food

Wat ga je doen Als Productontwikkelaar Food ga je nieuwe producten ontwikkelen en bestaande producten verbeteren. Je bent hierbij betrokken bij het gehele proces: van productconcept naar proefreceptuur, het realiseren va het product (op kleine schaal) en het testen van producten in een productieomgeving. Verder: Bewaak je de status van verschillende fases van productontwikkeling en lever je tijdig de benodigde data aan Ben je bezig met de optimalisatie van oude en nieuwe recepturen Begeleid of organiseer je proefsessies (sensorisch onderzoek) in het team en/of bij klanten Onderhoud je contacten met de klanten, leveranciers van grondstoffen e.a. externe partijen Houd je

Bekijk vacature »

Medior Java developer

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Fullstack developer

Functieomschrijving Heb jij kort geleden jouw HBO ICT diploma in ontvangst mogen nemen? Of ben je toe aan een andere uitdaging? Voor een erkende werkgever in de omgeving van Breda zijn wij op zoek naar een Fullstack developer. Kennis of ervaring met C# & SQL is een must! Je houdt je bezig met het ontwikkelen van nieuwe functionaliteiten; Je bent verantwoordelijk voor de beheer en ontwikkeling van de software; Je draagt bij aan de implementatie van aanpassingen, verbeteringen en aanvullingen in de C# based applicaties; Je test de software en ontwikkelt deze door; Je brengt de aanpassingssuggesties van klanten in

Bekijk vacature »

.net developer

Hoi! Wij zijn auto.nl en wij verkopen auto's online. je bestelt bij ons een auto net zo makkelijk als een spijkerbroek. En bevalt ie niet? Dan stuur je 'm gewoon weer terug. En dat we dat goed doen bewijst onze hoge klanttevredenheid van een 9,3. Nu maken we de volgende stap bij auto.nl. We starten met fysieke winkels. Online zoeken, offline bekijken. Maar nog altijd, geen gedoe! Gewoon eerlijk, transparant en zonder zorgen een auto kopen.. Maar om dat waar te blijven maken en nóg beter te worden, zoeken we uitbreiding van ons development team. Wat ga je precies doen?

Bekijk vacature »

Front-end developer - working on software for arou

Functie They have recently started looking for an experienced Front-end (mobile/app) developer. Because of the short lines within the team, they are also looking for someone who can communicate with the service desk, sales and support for technical questions. You will join their IT team consisting of about 10 colleagues divided over two teams in rooms opposite each other. Half of these are involved in their front-end. You will work together with, among others, the Architect, 1 senior, 1 junior and there is a Team Leader. In terms of technology, they work with a unique tech-stack, particularly because of the

Bekijk vacature »

Android developer

De functie Schiphol is een plek om te reizen, te verblijven en te werken. Door middel van data en technologie richten we op al deze gebieden het leef- en werkklimaat optimaal in en zorgen we voor een slimmere en efficiëntere operatie. Wij ontwikkelen nieuwe producten en diensten vanuit de wensen en behoeften van onze klanten, voorspellen passagier flows en testen digitale oplossingen om rijen en andere pijnpunten in het proces te verminderen. Met slimme feedback van sensortechnologie maken we zelfs data van toiletten en stoelen inzichtelijk en bruikbaar. Het Commercial Platform bestaat uit multidisciplinaire teams met een end-2-end verantwoordelijkheid voor

Bekijk vacature »

Java (Java EE) Developer

In het kort Werken als Java developer betekent werken aan complexe IT projecten bij onder meer een internationaal containeroverslag bedrijf. Zo sturen we apparaten en eindgebruikers aan d.m.v. onze custom-made software oplossing, die dagelijkse vele duizenden containers verwerkt. Denk aan systemen die volautomatische kranen aansturen en op afstand bedienen, de volledige afhandeling van containernummerherkenning bij het laden en lossen van zeeschepen of het tonen van instructies aan de chauffeurs van ruim 300 straddle carriers. En dat allemaal redundant, robuust en in een dynamische 24/7 omgeving! Jij versterkt ons ontwikkelteam en gaat aan de slag met oa. Java i.c.m. Spring (Boot),

Bekijk vacature »

Back-end Programmeur

Functieomschrijving Heb jij kort geleden je HBO ICT in ontvangst mogen nemen? Of ben je toe aan een nieuwe uitdaging? Voor een ambitieuze werkgever in de regio van Breda zijn wij op zoek naar een Back-end programmeur met affiniteit met C#.NET, SQL en MS Access. Samen met team bestaand uit ware ICT professionals ben je verantwoordelijk voor het bouwen van maatwerk software voor hun klanten. Belangrijk is dat je kennis of ervaring hebt van C#.NET en SQL. Je toont een flexibele en sociale houding naar klanten toe. Je denkt in nieuwe mogelijkheden & gaat graag de uitdaging aan. Bedrijfsprofiel De

Bekijk vacature »

Traineeship Full Stack .NET Developer

Dit ga je doen Start op 7 augustus 2023 bij de Experis Academy en ontwikkel jezelf tot een gewilde Full Stack .NET Developer. Maar hoe ziet het traineeship eruit en wat kun je verwachten? Periode 1 De eerste 3 maanden volg je fulltime, vanuit huis, een op maat gemaakte training in teamverband. Je leert belangrijke theorie en krijgt kennis van de benodigde vaardigheden en competenties die nodig zijn om de IT-arbeidsmarkt te betreden. Zowel zelfstandig als in teamverband voer je praktijkopdrachten op het gebied van front- en backend development uit. Wat er per week op het programma staat kun je

Bekijk vacature »

Consultant Low Code Developer

Functie omschrijving Heb jij verstand van datamodellering, NO CODE Platformen en kun jij het aan om projecten te leiden? Ben jij toe aan een nieuwe uitdaging en ben jij HBO afgestudeerd in de richting van IT? Voor een mooie opdrachtgever in omgeving Delft zijn wij op zoek naar een No Code developer die zich bezig gaat houden met het optimaliseren van bedrijfsprocessen bij klanten. Onderdelen functie Je gaat geen code kloppen maar bedenken hoe applicaties eruit moet komen te zien. Je gaat werken met een non code platform, je kunt denken aan Mendix of Betty Blocks. Je bent verantwoordelijk voor

Bekijk vacature »

Freelance JAVA / C# Developer

Functieomschrijving Voor een opdrachtgever in omgeving Zoetermeer zijn wij op zoek naar ervaren JAVA of C# Developers die graag op projectbasis willen werken. Je komt terecht bij een informele developers club die mooie projecten uitvoeren voor grote klanten. Ben je een ervaren freelancer of werk je in loondienst en ben je toe aan een nieuwe uitdaging? Lees dan snel verder want wie weet is dit een leuke vacature voor jou! Het fijne van deze werkgever is dat je zelf mag beslissen hoe je te werk wilt gaan. Wil je als freelancer werken dan is dat OK. Wil je de zekerheid

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 03:47:28
 
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.