Salt

Door The Beeding Clown, 15 jaar geleden, 14.190x bekeken

Onder het mom van een slimme Geit is op de toekomst voorbereid heb ik een functie geschreven voor het salten van je wachtwoorden. (md5 en sha1 zijn ook niet zo veilig meer de laaste tijd)

Er zit wel een coole struktuur in van wat ie returned.
Van bv een ww: '123' en de salt: 'woonboot' maakt ie er 3boot2woon1 van.

Na het salten kan je er een md5 of sha1 overheen gooien om zo je ww zo bv in cookies e.d. te gaan gebruiken.

Onder de functie staat hoe te gebruiken en wat hij van de salt en je password maakt.

Mocht je het gaan gebruiken, veel plezier ermee..

Voorbeeld: http://www.niele.nl/salt.php

Gesponsorde koppelingen

PHP script bestanden

  1. salt

 

Er zijn 11 reacties op 'Salt'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Lode
Lode
15 jaar geleden
 
0 +1 -1 -1
Waarom zo moeilijk doen ?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
$salt
     = rand(100, 999);
$pepper  = rand(100, 999);
/*
dit zijn dus altijd random getallen van iig 3 cijfers!
*/


$hash = hash('whirlpool', 'random_hash'); //whirlpool is echt te zwaar!!!
$hash = substr($hash, strlen($salt), strlen($hash) - strlen($pepper));
$hash = $salt.$hash.$pepper;
?>
Mebus  Hackintosh
Mebus Hackintosh
15 jaar geleden
 
0 +1 -0 -1
@Lode, bij een salt stel ik me geen random stukje tekst voor hoor.. Als je het dan in de database gooit en je het ooit nog wilt kunnen controleren ben je even bezig..

Verder vind ik je script zeer handig en mooi/goed gemaakt Nano!
Lode
Lode
15 jaar geleden
 
0 +1 -0 -1
is een voorbeeldje ZONDER sha1 / md5... meeste gebruikte en dus ook aangevallen encryptie methoden...

gebruiken als output beide HEXIDECIMAL dus 0-9 & A-F...

EDIT:
dus geen probleem om voor achter x 0-9 te hebben...
De sleutel ligt eechter bij het feit dat alleen jij weet hoevel het er zijn...
want in SID / base64 / md5 kunnen de eerste net zo makkelijke 3 getallen zijn... Maar 3 <> -3 dat kunnen hun niet ruiken...

En dan nog eens GEEN md5/sha1...

Gezien alleen de eigenaar weet hoelang de salt/pepper zijn... komen ze daar iig niet echt of heel langzaam tot een match... want ontcijferen kan niet exact...

ik heb zelfs nog random hash, slat/pepper lengths per string die in een database worden bijgehouden...

Heb de bijna 8gig rainbow database erop losgelaten zonder enig relevant resultaat... (duurt uren)

"Assumption is the mother off f*** up's..."
En daar zijn md5 en sha(1) dus de eerste in de rij omdat iedereen ze gebruikt... zelfs google en hotmail...

"Life is relative... Your assumptions, logical thought and feelings make it somewhat like it's or you expect it..."

Veel plezier...
je krijgt om de 2 minuten zoiezo een nieuwe hash bij mij...
na x login attempts mag je x pow(minuten * periods) niks... En daar kunnen bruteforcers niet zo goed tegen....

En tegen die tijd weet ik allang welk IP && port ik het bos in ga en mag sturen via een mailtje...
Lode
Lode
15 jaar geleden
 
0 +1 -0 -1
@geen bump! Maar overzichtelijkheid... (TMF taal)

en zo heb ik nog wel meer ingebakken...
Ben 1 keer met een relatief goed script hard op me bek gegaan...
Gebeurt me nooit meer! 'The key'.. verwachtingspatronen....

"Als je nooit een regelmaat hebt is dat toch ook een soort regelmaat?!"
Michael Voeten
Michael Voeten
15 jaar geleden
 
0 +1 -0 -1
waarom niet

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php

$salt
= base64_encode(serialize(array({bijv user_id},md5('geheim antwoord')));


[
/code]
Lode
Lode
15 jaar geleden
 
0 +1 -0 -1
kan allemaal... maar base64 is zoiezo reversable... en md5 is 32 char (vaste lengte )en de meest gebruikte c.q. aangevallen crypt die er is...

wikipedia maar eens op rainbow tables... "md5 (alone) will not survive..."
dus om iets wat unieker en onvoorspelbaarder te zien kan je salt/prepend en/of pepper/depend strings gebruiken...

andere encrypties helpen ook heel erg!!!
http://www.php.net/hash

voor mijn eigen idee, gevoel en ervaring is base64 voor wachtwoorden te verwaarlozen... en md5 en/of sha1 ver onder de maat tegenwoordig...
Maar goed das mijn ervaring na 10 jaar...
Michael Voeten
Michael Voeten
15 jaar geleden
 
0 +1 -0 -1
en md5(crc32('haha')) ?
Frank -
Frank -
15 jaar geleden
 
0 +1 -0 -1
Quote:
(md5 en sha1 zijn ook niet zo veilig meer de laaste tijd)
Ach, wanneer iemand al in jouw database kan komen om de hashes te bekijken, heeft hij helemaal geen toegang tot jouw appicatie meer nodig. Toegang tot de database is namelijk meer dan genoeg om met het systeem te kunnen doen en laten waar men zin in heeft.

Daarnaast is het belangrijker om veilige wachtwoorden af te dwingen dan een salt toe te passen. Een wachtwoord als 'a' heb je in een fractie van een seconde achterhaald, daar zal een beetje salt echt niks aan veranderen. Eis dus een minimaal lengte van bv. 8 tekens met minimaal 1 cijfer, maximaal 2 cijfers en het gebruik van hoofd- en kleine letters. Hoe sterker het wachtwoord is hoe moeilijker een bruteforce wordt.
Lode
Lode
15 jaar geleden
 
0 +1 -0 -1
Ik ben een keer de sigaar geweest met een session_id.
Ik gebruik na analistaie helemeels geen $_SESSION meer en ook de setcookie(); heb ik ook het bos in gestuurd!
Gebruik wel sessions en cookies... maar nooit meer via php als het zo slecht blijft...

En ik zie in mijn logs wel meer... Ben zelf soms noodzakelijk ook geen lieverdje geweest wat dat betreft... Voltooid verleden tijd meerendeels... Maar wel hoop van opgestoken... 12kb gif image van 20.000+ x 15.0000+ pixels? WTF Zo veilig standaard php validatie/functies....
Hipska BE
Hipska BE
15 jaar geleden
 
0 +1 -0 -1
hoe maak jij dan een loginsysteem lode?
als je geen gebruik maakt van cookies en sessions?
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Lode
Lode
15 jaar geleden
 
0 +1 -0 -1
"Gebruik wel sessions en cookies"

Maar niet meer via session_start(); en setcookie();
cookie is gewoon een header...
session lopen via database. $_SESSION zijn gewoon textbestanden...

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. salt

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

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.