salting vraagje

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Back-end ontwikkelaar

Functie omschrijving Wil jij meebouwen aan diverse databasesystemen in een klein bedrijf met een platte organisatie? In een team van ruim 10 ontwikkelaars wordt er aan diverse ICT oplossingen gewerkt. Jouw taken hierbij zullen bestaan uit: Het onderhouden en door-ontwikkelen van bestaande databases. Denk hierbij aan schema verbeteringen en performance-tuning. Bij nieuwe ontwikkelingen ga jij ook bezig met het bouwen van het databaseschema. Omdat je in een klein team werkt zal je ook de C# routine verder uitbouwen en ontwikkelen. Ook kan je meedraaien in algemene refactory-, ontwikkel- of testwerkzaamheden. Je zal voornamelijk gebruik maken van de volgende technieken: .NET

Bekijk vacature »

C# .NET Developer

Functieomschrijving Voor dit leuke softwarre bedrijf in de omgeving Vught zijn we per direct op zoek naar een C#/.NET Developer. Is development jouw passie en doe je dit graag met C#/.NET? Lees dan snel verder! Jou werkzaamheden zullen zijn: Zorgen voor de optimalisatie van de huidige software en het automatiseren van bedrijfsprocessen. Naar aanleiding van de wensen van de klant ga je, met je collega's op zoel naar passende oplossingen en je werkt dit uit tot een mooi eindproduct. Je gaat webshops, websites en webapplicaties ontwikkelen door middel van ASP.NET, C# en MVC Framework. Bedrijfsprofiel Deze opdrachtgever houdt zich bezig

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 »

.NET developer

Functie Als .NET ontwikkelaar start jij in een multidisciplinair team met 7 ontwikkelaars. Dit team is verdeeld onder Front-end ontwikkelaars en backend developers. De backend developers werken voornamelijk aan desktop applicaties in combinatie met backend systemen. Hier ga jij dus ook mee aan de slag! Hierbij wordt voornamelijk gebruik gemaakt van C# .NET, WPF, UWP, XAML en MVVM. WPF, UWP, .NET Core, Azure Devops en Entity Framework. WPF en UWP worden dan ook voornamelijk gebruikt voor de user interface van de desktop applicatie. Het development team is dan ook erg gedreven m.b.t. het ontwikkelen van vooruitstrevende en innovatieve horeca automatiseringsoplossingen.

Bekijk vacature »

Software Developer / .NET / Azure

Dit ga je doen Als Lead .NET Software Developer zal je je bezig houden met: Het vertalen van bedrijfswensen naar een technische roadmap; Uitwerken van nieuwe architectuur / designs; Het team aansturen en motiveren; Toezien op de kwaliteit van de code; Mee ontwikkelen van nieuwe features en applicaties. Hier ga je werken Deze organisatie is op dit momenteel marktleider in het ontwikkelen van productielijnen voor de voedselindustrie en heeft een wereldwijd klantnetwerk. Binnen deze organisatie is het team van software developers dagelijks bezig met het ontwikkelen van maatwerk oplossingen om alle productiemachines aan te sturen, maar ook bedrijf kritische applicaties

Bekijk vacature »

Als PHP developer bijdragen aan beter onderwijs?

Functie Momenteel zijn ze op zoek naar een PHP developer die mee gaat werken aan de (door)ontwikkeling van de producten en zo helpt aan de uitvoering van hun ontwikkelprojecten. Je komt te werken binnen hun development team bestaande uit 6 ontwikkelaars. Ze staan zowel open voor meer junior als medior/senior developers. Je kunt snel veel verantwoordelijkheid krijgen en doorgroeien binnen het bedrijf. Bovendien ben je betrokken bij het bepalen van de product roadmap en de inbreng van (nieuwe) technologieën. De applicaties waaraan je werk worden gebruikt op onderwijsinstellingen door heel Nederland. De tech-stack bestaat voornamelijk uit Laravel (PHP), Vue.js en

Bekijk vacature »

Back-end Developer

Functieomschrijving Voor een erkende werkgever in de regio van Middelburg zijn wij op zoek naar een enthousiaste PHP / Symfony Developer. Een ambitieus persoon die het gemotiveerde development team komt versterken met het realiseren van nieuwe en complexe projecten. Ben jij op zoek naar een baan met veel uitdaging binnen een snelgroeiend e-commerce bedrijf, waar je de tijd en ruimte krijgt voor professionele groei? Dit ga je doen: Je bent verantwoordelijk voor de beheer en ontwikkeling van de serviceportal in Symfony en de webshops in de tweede versie van Magento; Je houdt je bezig met het ontwikkelen van nieuwe functionaliteiten;

Bekijk vacature »

C# developer

Functie Als ervaren Software Engineer wordt jij verantwoordelijk voor het bedenken en ontwikkelen van technische (maatwerk) oplossingen voor onze klanten en dit samen met de klant af te stemmen. Jij wordt o.a. verantwoordelijk voor de doorontwikkeling het software pakket welke voor ons enorm belangrijk is. Dit pakket zorgt er namelijk voor dat wij complete productielijnen kunnen aansturen en monitoren. Daarnaast heb jij actief contact met onze hoofdvestiging om het software achter een van onze systemen te verbeteren en te herschrijven. Momenteel zijn onze C# applicaties geschreven met o.a. Winforms. Echter hebben wij de actieve ambitie om dit te gaan herschrijven

Bekijk vacature »

Lead Webdeveloper

Als Lead webdeveloper bij KUBUS ben je verantwoordelijk voor het implementatie design van requirements en de software architectuur van de webapplicatie en services van BIMcollab. In je rol als lead developer zoek je als vanzelf op een creatieve manier naar het optimum tussen benodigde implementatie-tijd, de performance van de applicatie en een snelle go-to-market van features, aansluitend bij onze geautomatiseerde test- en release train. Hierbij bewaak je in samenwerking met de andere senior ontwikkelaars in je team de architectuur van de applicatie en adviseer je de product owner over noodzakelijke refactoring om de onderhoudbaarheid van het platform te verbeteren. Ons

Bekijk vacature »

Front end developer binnen de consultancy

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 »

.NET Developer Medior Senior

Dit ga je doen Ontwikkelprocessen verder optimaliseren en verder ontwikkelen met C#; CI/CD-pipelines automatiseren; Herbruikbare componenten maken; Testen; Front-end pagina's gebruiksvriendelijk maken. Hier ga je werken Als .NET Developer kom jij terecht binnen een grote en internationale organisatie. Zij streven naar een positieve impact op de mens, milieu en maatschappij. Het bedrijf is oorspronkelijk een familiebedrijf en werkt aan de productie van hoogwaardige en technische systemen voor de gezondheidszorg. Momenteel willen zij betere ontwikkelprocessen creëren op internationaal gebied en staat kwaliteit en veiligheid voor hun op nummer 1! Als .NET Developer werk jij aan het ontwikkelen van verbeterde software voor

Bekijk vacature »

Medior/senior Front-end developer

Functie Onder begeleiding van 3 accountmanagers waarvan er 1 binnen jouw expertise je aanspreekpunt zal zijn ga je aan de slag bij diverse opdrachtgevers. Hij of zij helpt je bij het vinden van een passende en uitdagende opdracht. Hierin houden ze uiteraard rekening met jouw situatie, ervaring en (technische) ambities. De opdrachten duren gemiddeld één tot 2 jaar. Hierdoor kun je je ook echt vastbijten in een project en als consultant impact maken. Naast de opdracht ben je regelmatig met je collega’s van de IT-afdeling om bijvoorbeeld onderlinge kennis te delen, of nieuwe trends te bespreken. Ook worden er regelmatig

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 »

C#.NET/Unity Developer

Functieomschrijving Voor een gewaardeerde werkgever in de omgeving van Breda zijn wij op zoek naar een software ontwikkelaar. Dit bedrijf houdt zich bezig met de ontwikkeling van WMS Software (C#/Unity & SQL). Past dit bij jou? Lees snel verder! Jouw werkzaamheden zullen er als volgt uitzien: Je werkt aan innovatieve softwareoplossingen voor het verbeteren en/of vernieuwen van processen; Samen met 6 applicatieontwikkelaars hebben jullie de verantwoordelijkheid voor de uitbreiding en ontwikkeling van de webapplicaties; Het uitvoeren van updates/aanpassingen aan de huidig draaiende applicaties; Je bent een luisterend oor naar klanten en vertaalt hun wensen door naar bruikbare software. Bedrijfsprofiel Wie

Bekijk vacature »

Software developer

Functie Momenteel zijn ze op zoek naar een Software developer die, veelal fullstack, mee gaat werken aan de ontwikkeling van de producten en zo helpt aan de uitvoering van hun ontwikkelprojecten. Je komt te werken binnen hun development team bestaande uit 6 ontwikkelaars. Ze staan zowel open voor meer junior als medior/senior developers. Je kunt snel veel verantwoordelijkheid krijgen en doorgroeien binnen het bedrijf. Bovendien ben je betrokken bij het bepalen van de product roadmap en de inbreng van (nieuwe) technologieën. De applicaties waaraan je werk worden gebruikt op onderwijsinstellingen door heel Nederland. De tech-stack bestaat voornamelijk uit Laravel (PHP),

Bekijk vacature »
Kristof s

Kristof s

25/07/2009 15:53:00
Quote Anchor link
Hallo, ik heb zopas een filmpje gezien over PHP-security. Het ging hierbij op een moment over salting/rainbowtables etc.

Na heb bekijken van het filmpje kwam het hierp neer:

je hebt de gebruiker zijn psw die verstuurd wordt bij registratie
daarnaast heb je een vaste $salt die je in een config bijhoudt

en nu komt het

daarnaast heb je ook een unieke salt per persoon/gebruiker.

ik maakte er dan maar een functie van:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
function salt($password){
        $salt = "abcjkl123";
        $user_salt = sha1(microtime());
        $password = md5($user_salt . $salt .  $password);
        return $password;
    }

nu ik snap het nut van de $user_salt echter wel, zo is niet elke hash hetzelfde (ook niet als er gebruikers zijn met eenzelfde paswoord). Maar het nut ontgaat me toch een beetje. Aangezien ik bij de login het wachtwoord moet kunnen terugvinden, heb ik de $user_salt ook nodig. Dus als ik het goed begrijp, dan moet ik deze bijhouden in een DB, wat is dan nog het nu ?

Begrijp ik het nu fout of niet? Kan iemand me hier even duidelijkheid brengen?
Gewijzigd op 01/01/1970 01:00:00 door Kristof s
 
PHP hulp

PHP hulp

23/11/2024 14:03:12
 
GaMer B

GaMer B

25/07/2009 15:58:00
Quote Anchor link
De static salt (in dit geval $salt) kan je instellen in je config.php. De dynamic salt (in dit geval $user_salt) zal je samen met het wachtwoord van de gebruiker in de database moeten opslaan en iedere keer oproepen als iemand zich wil inloggen.

Het nut van een dynamic salt is dat een hacker dan wel een static salt kan verkrijgen, maar dan heeft de hacker nog altijd de dynamic salt nodig (die per gebruiker dus verschilt!!). Het geeft een extra dimensie aan de gegenereerde hash die dus uit een static en dynamic salt en het wachtwoord bestaat.
 
Lode

Lode

25/07/2009 21:58:00
Quote Anchor link
je kan nog een veel leukere salt maken...

stel je laat als wachtwoord tekens A-Za-z0-9 toe (sha1 / md5 bestaan hier altijd uit).
Dan kan je dus alle overige tekens in ASCII (http://www.asciitable.com/)
random gebruiken om te salten op willekeurige plekken.
Met name 0-31 zijn hiervoor wellicht interesant.

Gezien jij de reeks salt tekens weet kan je die ook filteren.

sha1 en md5 zijn onomkeerbare algoritmes, maar wel de meest gebruikte ook. Er zijn heel veel algoritmes ook omkeerbare, als je iets verder gaat dan md5 en sha1 alleen ben je ook al een stuk veiliger wellicht..
 
Kristof s

Kristof s

26/07/2009 13:18:00
Quote Anchor link
@GaMer13 dank je je beantwoorde mooi mijn vraag:)

@Lode
je bedoelt zoiets dan: ?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
$md5_paswordhash = 123456;
$md5_paswordhash_modified = (substr ($md5_paswordhash,0,2).'STX'.substr ($md5_paswordhash,2,6));
echo ($md5_paswordhash_modified);

en om het eruit te filteren:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
$search = array('STX');
$replace = array(''); // aka verwijderen
$target = $md5_paswordhash_modified;

echo stro_replace($search, $replace, $target);


zit dit zowat juist f helemaal fout?
Gewijzigd op 01/01/1970 01:00:00 door Kristof s
 
Matthias R

Matthias R

26/07/2009 14:19:00
Quote Anchor link
Wat is het nut hiervan?
zijn gegevens neit even veilig als je ze gwn MD5 doet als met salting

Wat wel in me opkomt is voor een login
Dat maakt sql injection al een heel stuk moeilijker
 
- Ricardo -

- Ricardo -

26/07/2009 14:49:00
Quote Anchor link
md5 zijn via websites waar miljarden records in staan van de md5 hashes veel woorden nog wel terug te halen, zeker gewone taal. Als je je eigen salt maakt, en jij houd gewoon je hash voor jezelf, is er niemand die het gaat lukken om dat te kraken tenzij je guus geluk heet...
 
Matthias R

Matthias R

26/07/2009 14:52:00
Quote Anchor link
:o
zeg nooit nooit!!!
Er zijn voor alles manieren
 
GaMer B

GaMer B

26/07/2009 15:32:00
Quote Anchor link
@Matthias, salting voegt een extra dimensie toe aan de hash. Bruteforcing met een woordenlijst zal dan dus niet meer lukken, omdat de hash nu ook bestaat uit X aantal onbekende tekens die van alles kunnen zijn.

Het enige wat nu kan optreden is hash-collision, wat inhoud dat een andere (veel simpelere) woord dezelfde hash kan opleveren als de hash die bestaat uit twee salts en het wachtwoord.
 
Matthias R

Matthias R

26/07/2009 15:50:00
Quote Anchor link
...
Het MOET mogelijk zijn er gwn achter te komen...
want je gaat mij niet wijsmaken dat Banken te hacken zijn maar een simpele salt codering niet...

Maar swat
idd is handig voor extra beveileging...
Maar als je nu vermoed dat iemand dat woordje teweten is gekomen..
En dit wilt veranderen...
Dan heb je ook zooi he...
 
GaMer B

GaMer B

26/07/2009 15:53:00
Quote Anchor link
:P Alles is mogelijk. Mij hoor je ook niet zeggen dat het helemaal onmogelijk is. Met een paar clusters aan computers is het makkelijk te doen, maar dat heeft een doorsnee wanna-be-hacker niet.
 
Matthias R

Matthias R

26/07/2009 16:22:00
Quote Anchor link
En wat zijn een paar clusters aan computers???
 
GaMer B

GaMer B

26/07/2009 16:25:00
Quote Anchor link
Hmm, duizenden computers :P
 
Matthias R

Matthias R

26/07/2009 16:32:00
Quote Anchor link
Geen idee hoe prof hackers het doen :p
Maar enigzins wel respect dat ze het kunnen,
Keur hun werk niet goed ofzo he!
 
Kristof s

Kristof s

26/07/2009 17:06:00
Quote Anchor link
je hebt inderdaad een punt als je zegt dat wanneer je je salt wil veranderen je miserie hebt. Langs de andere kant kan je ook met een array werken met bv 10 strings in dan is het nog moeilijker :-)

maar helemaal veilig ben je natuurlijk nooit
 
Matthias R

Matthias R

26/07/2009 18:13:00
Quote Anchor link
Ik was aan het denken :p

Als je nu eens altijd versleuteld met het IP vanwaar de account geregisteerd word,
Dat gegeven moet nooit veranderd worden, Kan opgeslagen worden ook in db om te decoderen.
En is een op elke account veranderende versleuteling :)
Gewijzigd op 01/01/1970 01:00:00 door Matthias R
 
Kristof s

Kristof s

27/07/2009 17:10:00
Quote Anchor link
ja goed maar dat kan je ook gewoon met microtime().
het idee van Lode vind ik wel leuk gevonden
 
Lode

Lode

07/08/2009 16:40:00
Quote Anchor link
oke je laat toe A-Z en 0-9 -_ wellicht als pasword tekens.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
function ValidatePassword($string){
    if(preg_match('~^[\w-]{1,}$~D')){
         //geldig
    }
    //blaat...
}
?>


En dan gaan we naar: http://www.asciitable.com/ zie de Dec(imal) column.
1 t/m 44 kunnen we dus gebruiken gezien ze niet in het wachtwoord voorkomen.
127 t/m 255 ook...

Jij weet dat... iemand anders niet natuurlijk...

Oke dan kan je die ASCII tekens dus random in het password gaan strooien..
En er ook weer uit filteren.

Dat is mijn random salt basis curses denk ik.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
$chars
= array_rand(
                 array_merge(
                      range(1, 44),
                      range(127, 255)
                 ),

              5);
//nou heb je 5 random extended ASCII nummers die je dan weer random in een string kan gooien middels http://nl.php.net/manual/en/function.chr.php
?>
Gewijzigd op 01/01/1970 01:00:00 door Lode
 
GaMer B

GaMer B

07/08/2009 16:46:00
Quote Anchor link
Zolang je de salt maar niet "static" of "dynamic" gaat opslaan (in raw formaat), want dan kunnen er problemen ontstaan. Vooral de tekens 1 tm 44 kunnen niet "opgeslagen" worden. Je kan het wel als extra laag salting opnemen in de hash :-)
 



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.