Avatar billede hcthorsen Praktikant
12. november 2009 - 12:08 Der er 8 kommentarer og
1 løsning

AES decryptering

Jeg hiver nogle data ud af min database med:

$query = mysqli_query ($conn, "SELECT * FROM erfaring WHERE user = '$_SESSION[user]' order BY id");

Nu er problemet at et af felterne (navn) er krypteret med AES. Det skal nu decrypteres i forbindelse med ovenstående søgning. Hvordan for jeg lige føjet AES_DECRYPT ind?
Avatar billede arne_v Ekspert
12. november 2009 - 14:42 #1
du skal nok liste felterne eksplicit og angive hvad der skal dekrypteres:

SELECT felt1,AES_DECRYPT(felt2),felt3 FROM ...
12. november 2009 - 14:46 #2
...med den tilfoejelse, ifoelge det foelgenden link, at du skal opgive det password der var brugt da det var encryptet, altsaa: SELECT felt1, AES_DECRYPT(felt2, 'password'), felt 3 FROM.  Her er linket:  http://books.google.be/books?id=lBHE8xdSGwQC&pg=PA51&lpg=PA51&dq=mysql+aes_encrypt+tutorial&source=bl&ots=9BXob1scBA&sig=Mi09TY9QWNfaYGBzFQR1ceJ8Dc0&hl=nl&ei=4Az8SoeaMY3LjAf4_bCcBQ&sa=X&oi=book_result&ct=result&resnum=9&ved=0CDAQ6AEwCA#v=onepage&q=&f=false
Avatar billede arne_v Ekspert
12. november 2009 - 15:04 #3
He he. Ja - password er nok noedvendigt ....
Avatar billede hcthorsen Praktikant
12. november 2009 - 21:40 #4
Ovenstående er jeg med på:-) Det fremgår nok ikke tydeligt af mit spørgsmål, men mit problem er at jeg helst ikke vil liste alle felterne eksplicit, da det vil være temmeligt omfattende. Kan man lave et eller andet med at "joine" resultateterne fra en

SELECT AES_DECRYPT(felt1, 'password') AS felt1_decrypt FROM

og

SELECT * FROM
Avatar billede arne_v Ekspert
12. november 2009 - 22:05 #5
SELECT * er en uskik som du under alle omstaendigheder burde undgaa.

Du kan vel lave:

SELECT * FROM tabel JOIN (SELECT pkfelt,AES_DECRYPT(crypfelt, 'hemmeligt') FROM tabel) x ON tabel.pkfelt=x.pkfelt

Men dem der skal vedligeholde din kode senere vil undre!
Avatar billede hcthorsen Praktikant
18. november 2009 - 09:22 #6
Beklager det sene svar, men jeg har været optaget af andre ting. arne_v, det var præcis sådan noget jeg ledte efter. Tak for hjælpen. Jeg kan godt se det er en lidt fnidret løsning.

Hvorfor mener du at SELECT * er en uskik?

Sender du et svar?
Avatar billede hcthorsen Praktikant
18. november 2009 - 13:55 #7
Fatter godt nok ikke en bønne af din kode, men den giver det ønskede resultat:-)
Avatar billede arne_v Ekspert
18. november 2009 - 15:04 #8
SELECT * henter unoedige data hvis man ikke skal bruge alle felter.

Hvis man henter felterne paa index fremfor paa navn, saa vil koden ved brug af SELECT * ikke virke hvis nogen saetter en kolonne ind som ikke er sidst.
Avatar billede arne_v Ekspert
18. november 2009 - 15:04 #9
og svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester