Avatar billede medjeti Nybegynder
23. marts 2001 - 18:33 Der er 6 kommentarer og
2 løsninger

Datatype (måske?)

Hej... Undskyld den lidt vage titel på spørgsmålet, men jeg ved ikke præcis hvad problemet er...

Jeg har en ASP-side, der bl.a. gemmer og henter et krypteret password i en MS SQL 7.0 database.
Problemets kerne er:
Jeg kan fint skrive til/læse fra databasen, men når jeg så bruger min krypteringsfunktion, får jeg returneret det forkerte resultat - altså den krypterer fint og gemmer det rigtige, men når jeg skal læse/dekryptere går det galt.
Nu skulle man tro det var dekrypteringsfunktionen den var gal med, men hvis jeg gør nøjagtigt det samme blot med en Access2000-DB er der ingen problemer. Desuden har flere folk herindefra bekræftet at funktionen ikke fejler noget.

Min mistanke er at det evt. er feltets Datatype der er gal. Den står som en varchar som jeg mente var det der ligner et Tekst-felt i Access mest. (Men jeg er som sagt ikke sikker på at det er der problemet ligger...)

Okay, det spørgsmål blev lidt svært at svare på, men jeg er egentlig bare ude efter gode idéer af enhver art...

På forhånd tak... :)
Avatar billede limemedia Nybegynder
23. marts 2001 - 18:45 #1
du er selvfølgelig sikker på at det du ligger i databasen og det du henter igen er ens ? altså, uden translation og samme længde ?

mssql har en grim vane med at translate hvis man under installation ikke beder den lade være... endvidere kan det være du gemmer en 60 tegn krypteret streng i en varchar(50)...

det var da lidt at starte med...
Avatar billede medjeti Nybegynder
23. marts 2001 - 19:58 #2
Tak for inputtet...
Jeg kan godt trække den korrekte værdi ud... det er først når jeg dekrypterer det går galt... Det er kun et enkelt tegn eller to der går galt, men det er jo også nok... (Hvor finder jeg indstillinger for translation?)
Det er heller ikke længden af strengen der er gal...
Avatar billede torbenkoch Nybegynder
23. marts 2001 - 20:00 #3
Prøv at lave dit felt om til en binary, så er du sikret mod eventuelle konverteringer, som måske odbc og/eller sqlserver kunne finde på at lave....

Indrømmet, det er langt ude, hvis det er det, men det er da værd at prøve!
Avatar billede medjeti Nybegynder
24. marts 2001 - 01:34 #4
Jeg har bøvlet længe med det, så alt er et forsøg værd!

Jeg får desværre denne fejl når jeg prøver at skrive til DB\'en:
Disallowed implicit conversion from data type varchar to data type binary [...]
Use the CONVERT function to run this query.

Skal jeg have fat i en stored procedure eller kan det gøres fra asp\'en?
Avatar billede torbenkoch Nybegynder
24. marts 2001 - 08:02 #5
Ok - hvis du får trukket den rigtige værdi ud - hvilket du kan finde ud af ved at putte en værdi ned i databasen, trække den ud og sammenligne den med den originale. Hvis det går godt, så er det jo ganske givet ikke et problem med databasen, men et problem med enten krypteringen eller dekrypteringen. Disse kan jo være nogle grumme nogle - er de hjemmestrikkede, eller bruger du nogle officielle??
Avatar billede medjeti Nybegynder
24. marts 2001 - 18:22 #6
Torbenkoch >> Jep det er det der er det mærkelige: På den ene side ved jeg sikker på at krypteringen/dekrypteringen er god nok (virker i Access + er blevet verificeret af folk herindefra), og på den anden side kan jeg godt trække den korrekte værdi ud DB\'en... Det er i samspillet mellem krypteringen og databasen det går galt...
Avatar billede torbenkoch Nybegynder
24. marts 2001 - 18:29 #7
Har du noget kode, man må se? Du kan evt. maile det på tko@miltorb-it.dk hvis det ikke skal være alt for offentligt... :-)
Avatar billede medjeti Nybegynder
15. januar 2003 - 10:05 #8
Fik det desværre aldrig til at virke, men tak for svarene.
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