» »

[C#] Random Password Generator

[C#] Random Password Generator

abyssus ::

V enem izmed projektov sem poskusil izdelati metodo v razredu, ki kot privzeto geslo uporabniku dodeli random geslo. Koda je takšna:

    class Program
    {
        private static char getRandomZnak()
        {
            Random r = new Random();
            int st = r.Next(0, 26);

            return (char)(96 + st);
        }

        private static string randomGeslo()
        {
            char[] geslo = new char[5];

            for (int i = 0; i < 5; i++)
            {
                geslo[i] = getRandomZnak();
            }

            return new string(geslo);
        }

        static void Main(string[] args)
        {
            string geslo = randomGeslo();
            Console.WriteLine("Random geslo je {0}", geslo);
            Console.ReadLine();
        }
    }


Najprej pridobim random znak, potem pa ta random znak vstavim v polje znakov, ki ga pretvorim v string. Vse ok in prav, vendar je geslo nek random znak, ki se ponavlja, recimo "ccccc". Zakaj?

Prosim za pomoč.

abyssus ::

Rešeno -> Random r = new Random(); daš izven metode.

Vesoljc ::

pa ves zakaj? :)
Abnormal behavior of abnormal brain makes me normal...

abyssus ::

Nisem prepričan, kolikor je bilo tam razloženo s strani enega uporabnika... Znova in znova nastavim seme random generatorja, ki je isto in mi zaradi tega vedno vrže enako vrednost. Če pa je izven metode pa je seme nastavljeno samo enkrat in potem uporabljeno 5x v mojem primeru. Nisem prepričan, če je tako :)

Vesoljc ::

recimo :)

seed je za vsak random object ki ga nardis v tistem loopu isti, potem pa vedno vracas prvi element iz random sekvence, ki je pac isti, zato ker je seed isti. ko nardis globalno instanco random objecta, pa potem dejansko vzemas drugacne (naslednjo) vrednosti iz random sekvence.
Abnormal behavior of abnormal brain makes me normal...


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

C# povezava forma in classa

Oddelek: Programiranje
172361 (1824) Miko55
»

C# (strani: 1 2 )

Oddelek: Programiranje
9712102 (8937) Ericssony
»

Generiranje kombinacij znakov

Oddelek: Programiranje
141325 (1010) c0dehunter
»

osnove v Javi - zvezdice

Oddelek: Programiranje
403573 (2795) Tutankhamun

Več podobnih tem