steingrim Skrevet 17. april 2009 Del Skrevet 17. april 2009 Tull. De fleste hashing-algoritmene er entydige og deterministiske og kan trygt lagres. Enveis-hashing av passordet før det lagres i databasen er veldig, veldig, veldig vanlig. Tull??? Hvorfor er du så påståelig?? Annbefaler deg å lese litt om HASH i MSDN. Der står det ganske klart at dette er gjenstand for nettop dette. Dessuten har jeg selv prøvd dette. Jeg har brukt .NET sine egne HASH metoder for å lage HASH verdier av passord, og lagret det i en SQL tabell. Når jeg fra en Vista64 bit maskin genererer passord så klarer ikke en bruker på en XP32 maskin å logge inn. GetHashCode er ikke det man tenker på når man snakker om hashing av passord. Enhver luring forstår det. Til hashing av passord brukte man tidligere ofte MD5, nå om dagen er det vel varianter av SHA som gjelder. Lenke til kommentar
GeirGrusom Skrevet 17. april 2009 Del Skrevet 17. april 2009 Ikke bruk GetHashCode (med mindre du har overridet den) System.Security.Crytography inneholder en rekke asynkrone og synkrone krypteringsalgoritmer som du heller kan bruke. Lenke til kommentar
steingrim Skrevet 17. april 2009 Del Skrevet 17. april 2009 GetHashCode er ikke en krytptografisk hashingalgoritme, det er en metode med varierende implementasjoner på tvers av plattformer og versjoner. Det bør si seg selv at man ikke skal bruke den! Lenke til kommentar
GeirGrusom Skrevet 17. april 2009 Del Skrevet 17. april 2009 Den er vel mest tiltenkt for å sammenligne objekter, og ikke for kryptering ja... Lenke til kommentar
bjartesi Skrevet 20. april 2009 Forfatter Del Skrevet 20. april 2009 Det er fordi du misforstod poenget public class MittProgram { private Dictionary<string, MinDataKlasse> bruker_liste; } public class MinDataKlasse { private string m_passord; private DateTime m_forrige_endring; public string Passord { get { return m_passord; } set { m_passord = value; m_forrige_endring = DateTime.Now; } } public DateTime LastPasswordChange { get { return m_forrige_endring; } } } Nå vil jeg også anbefale mot å bruke norse navn på variabler, funksjoner osv. All programmering bør foregå på engelsk. I verste fall burde kun kommentarer være Norske. Ja det kan godt tenkes at det kan være lurt å ikke bruke norske ord. Jeg skjønner ikke helt hvordan jeg skal få legge inn passord tilhørende den enkelte bruker? Lenke til kommentar
bjartesi Skrevet 21. april 2009 Forfatter Del Skrevet 21. april 2009 jeg har nå laget klassen MinDataKlasse.cs slik som dette: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Øving_2 { public enum Status { Administrator, Bruker }; class MinDataKlasse { private string m_passord; private DateTime m_forrige_endring; public string Passord { get { return m_passord; } set { m_passord = value; m_forrige_endring = DateTime.Now; } } public DateTime LastPasswordChange { get { return m_forrige_endring; } } } } Videre har jeg i Form1.cs gjort følgende: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace Øving_2 { public partial class Form1 : Form { MinDataKlasse mdk = new MinDataKlasse(); private Dictionary<string, MinDataKlasse> brukerliste; public Form1() { InitializeComponent(); } private void okKnapp_Click(object sender, EventArgs e) { //brukerliste.Add("admin", ); //string passord = ""; if (brukerliste.TryGetValue(brukernavnBoks.Text, out mdk.Passord) && passordBoks.Text == mdk.Passord) { MessageBox.Show("Du er pålogget som " + brukernavnBoks.Text); } } } } Denne får jeg ikke compilert da det er feil i den, men jeg klarer ikke finne det. Jeg er også klar over at passord og brukernavn for brukerne må settes når programmet kjøres. Er dette en god begynnelse? Hvor skal jeg sette brukernavn/passord? Hvordan får jeg if-løkken som sjekker brukernavn til å funke? Er meget takknemmelig for all hjelp! Lenke til kommentar
HDSoftware Skrevet 22. april 2009 Del Skrevet 22. april 2009 GetHashCode er ikke det man tenker på når man snakker om hashing av passord. Enhver luring forstår det. Til hashing av passord brukte man tidligere ofte MD5, nå om dagen er det vel varianter av SHA som gjelder. Mye mulig at alle luringer forstår dette, men jeg synes ikke det kommer veldig bra frem noen sted med mindre man vet om det. Når metoden heter GetHashCode så forventer jeg at den gjør nettop det. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå