03. november 2000 - 13:49Der er
9 kommentarer og 2 løsninger
Hvor gennemtænkt er Java?
Har jeg ret når jeg siger at det ikke er muligt at afkode den tekststreng der står i et JPasswordField? Det er jo temmelig upraktisk da man ofte vil bruge sådanne felter til at sammenligne sit password med værdier i en eller anden database. Jeg kan godt se at det vil være lidt meningsløst at kryptere et password, hvis man kan dekryptere det umiddelbart bagefter (sikkerheden går jo fløjten), men alligevel...
Skal man virkelig lave en krypterings/dekrypteringsalgoritme for at kunne lave passwordchecking?? Det er da for plat...
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
En krypteringsalgoritme der ikke kan dekrypteres!? Man kan vel altid lave en dekrypteringsalgoritme ved at \"reversere\" krypteringsalgoritmen.
Med hensyn til at gemme passwords i krypteret form i databasen så understøtter eksempelvis Access dette delvist - så vidt jeg kan gennemskue viser Access passwordstrengen som en streng bestående af det nødvendige antal stjerner men selve indholdet af strengen er uændret.
Man kunne for eksempel lave en algoritme (simpel eller ej) til kryptering af passwords. Disse krypterede passwords gemmes så i Access manuelt. Loginproceduren i Javaapplikationen krypterer det indtastede og password og sammenligner med værdien i databasen.
Hvis du be\'r en bruger om at indtaste en kode i et JPasswordField og så vil sammenligne med en værdi gemt i en db, så er den sikreste måde, hvis du sammenligner begge i krypteret form.
Dvs. at værdien i db\'en skal være krypteret. Når brugeren har indtastet en kode, så gør du sådan her:
if (dbPass.compareTo(krypterFunktion(new String(jpassfield.getPassword()))) == 0) //password er korrekt else //password er forkert
du kan ikke reversere alle funktioner... hvis du fx tager en hash værdi på en streng kan der være flere resultater der generer samme password.
Hvis du i din database gemmer dit password som en krypteret text i en VARCHAR på det antal bit du har valgt kan du refere brugerens input mod dette gennem din krypteringsalgoritme...
vil kunne bruges... og du vil \"aldrig\" kunne reversere passwordet udfra databasen... Har en hacker først adgang til databasen har han alligevel fat i dine sourcefiler.
Jeg kunne forestille at grunden til at der ikke findes en dekrypteringsfunktion som standard i Java er det sikkerhedsbrud den ville udgøre... egentlig en skam... venter spændt på Java 3 *lol*
ikke ment som kritik :-) jeg er selv i gang med PHP og glemmer ALTID $ foran variabelnavne.
Synes godt om
Ny brugerNybegynder
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.