sha1 in query geeft geen resultaat
Hoi,
ik wou wat zout toevoegen aan mn password:
$static_salt='xxxxxxxxx'; // vaste waarde
en ik heb een dynamisch salt
een random string die ik dus voor elke user in de db zet, veld: dynasalt
( en in password heb ik dus de samengesteld sha1 gezet)
alles 2x gecontroleerd, maar mn query wil geen resultaat geven: 0 gevonden, geen foutmelding.
kan mysql deze query wel ? met die sha1 ?
Is de mysql sha1 wel hetzelfde als de php sha1 ?
"SELECT id
FROM leden
WHERE user='".$user."'
AND sha1('".$static_salt."' + '" .$password. "' + dynasalt)=password"
ik wou wat zout toevoegen aan mn password:
$static_salt='xxxxxxxxx'; // vaste waarde
en ik heb een dynamisch salt
een random string die ik dus voor elke user in de db zet, veld: dynasalt
( en in password heb ik dus de samengesteld sha1 gezet)
alles 2x gecontroleerd, maar mn query wil geen resultaat geven: 0 gevonden, geen foutmelding.
kan mysql deze query wel ? met die sha1 ?
Is de mysql sha1 wel hetzelfde als de php sha1 ?
"SELECT id
FROM leden
WHERE user='".$user."'
AND sha1('".$static_salt."' + '" .$password. "' + dynasalt)=password"
Gesponsorde koppelingen:
dynasalt in je query: dat is een vast gegeven? Zo te zien is het geen variabele. Uit je tekst maak ik op dat dynasalt een string uit de db is. Waar haal je die dan op?
dynasalt is, net als id, user en password een veld in de leden tabel.
En ja dat is eigenlijk mn vraag kan mysql dat ?
En ja dat is eigenlijk mn vraag kan mysql dat ?
- Roland - op 18/10/2011 12:27:58:
En ja dat is eigenlijk mn vraag kan mysql dat ?
Kan mysql wat? Gegevens ophalen uit een database? Ja.
Gebruik geen + (plus) maar een . (punt) om meerdere strings aan elkaar te koppelen. Een + werkt alleen bij getallen.
Gelukkig...... :)
ja dat dacht ik ook, en de query ziet er ook logisch uit maar er wil maar geen result uit komen
ja dat dacht ik ook, en de query ziet er ook logisch uit maar er wil maar geen result uit komen
Is je veld in de database wel groot genoeg. Moet minimaal VARCHAR(40) zijn.
Ja die heb ik 40 !
Echo de query eens.
Dat doe ik altijd als eerste. Dat klopt
SELECT id FROM leden WHERE user='jan' AND sha1('*****' + '******' + pwsalt)=password
(**** ipv the real info)
SELECT id FROM leden WHERE user='jan' AND sha1('*****' + '******' + pwsalt)=password
(**** ipv the real info)
Nog steeds een + (plus)? Gaat niet werken. Zijn alle **** getallen, dan horen ze niet tussen quotes te staan.
ik heb eerder ook die 2 vars zonder quotes gehad, hij geeft dan fout melding over dat sha1 stuk ... (het zijn natuurlijk niet alleen getallen: een string met veel variatie)
sql zou zo iets toch moeten kunnen, maar ik weet niet hoe ik het anders moet noteren
ps. een php alternatief zou natuurlijk zijn eerst query om pwsalt op te halen, php de sha1 te laten doen en daarna in nieuwe query de select....
sql zou zo iets toch moeten kunnen, maar ik weet niet hoe ik het anders moet noteren
ps. een php alternatief zou natuurlijk zijn eerst query om pwsalt op te halen, php de sha1 te laten doen en daarna in nieuwe query de select....
- SanThe - op 18/10/2011 12:54:49:
Gebruik geen + (plus) maar een . (punt) om meerdere strings aan elkaar te koppelen. Een + werkt alleen bij getallen.
Ook geprobeerd:
AND sha1( CONCAT('*****' , '******' , pwsalt) )=password
geen fout melding, maar nog steeds geen resultaat
AND sha1( CONCAT('*****' , '******' , pwsalt) )=password
geen fout melding, maar nog steeds geen resultaat
Edit:
punten . had ik ook al geprobeerd: you have an error...
punten . had ik ook al geprobeerd: you have an error...
Gewijzigd op 18/10/2011 13:50:54 door - Roland -
Een geef die mysql_error() eens hier.
geen verdere error melding.
Maar wel OPGELOST
. of + werkenn beiden niet
maar de concat wel ! en met de quotes
AND sha1( CONCAT('*****' , '******' , pwsalt) )=password
[*** de php vars ]
Nb ik heb ook nieuwe test waarden in de db gezet !! daar zat misschien ook een fout
Bedankt SanThe
(ik stond haast op punt de hele salt er weer uit te gooien )
Maar wel OPGELOST
. of + werkenn beiden niet
maar de concat wel ! en met de quotes
AND sha1( CONCAT('*****' , '******' , pwsalt) )=password
[*** de php vars ]
Nb ik heb ook nieuwe test waarden in de db gezet !! daar zat misschien ook een fout
Bedankt SanThe
(ik stond haast op punt de hele salt er weer uit te gooien )



