C#

C# Rastgele Şifre Üretme

Herkese merhaba, C# derslerimize kaldığımız yerden devam ediyoruz. Bu dersimizde rastgele şifre üretmeyi anlatacağım. Hadi başlayalım !

Öncelikle şifre içerisinde olmasını istediğimiz karakterleri bir tane string değişken içerisinde tutalım. Sonrasında bu string içerisinden rastgele karakterler alarak birleştirecek ve sonuç olarak istediğimiz gibi bir şifre oluşturmuş olacağız. Bizim yapacağımız örnekte büyük ve küçük harfler, sayılar ve bazı özel karakterler olacak. O yüzden bu karakterleri bir string değişken içerisine atayalım.

string karakterler = "abcçdefgğhıijklmnoöpqrsştuüvwxyzABCÇDEFGĞHIİJKLMNOÖPQRSŞTUÜVWXYZ0123456789!+%&/()={[]}?";

Şimdide rastgele sayı üretmemizi sağlayan Random sınıfından bir nesne türetelim. Random sınıfı statik tipte olmadığı için new anahtar kelimesiyle nesnesini türetmemiz gerekiyor.

Random random = new Random();

Şimdi de oluşturulacak şifreyi tutmak için bir tane string değişken oluşturalım fakat içerisi boş olsun ki üzerine ekleme yaptıkça kendisi büyüsün.

string sifre = "";

Şimdi geldik asıl şifre üretme aşamasına. Buradaki taktiğimiz şöyle olacak; üretmek istediğimiz şifrenin uzunluğu kadar bir for döngüsü dönecek ve döngünün her adımında karakterler değişkeni içerisinden rastgele bir karakter alacak ve sifre değişkeni üzerine ekleme yapacağız. Örneğin ben 10 karakter uzunluğunda bir şifre üretmek istiyorum, o yüzden 10’a kadar sayan bir for döngüsü yapacağım. String değişkenler aslında birer char dizisi olduğu için string değişken içinden dizilerde olduğu gibi erişim yaparak istediğimiz karakteri alabileceğiz. Ayrıca yeni bir nesnesini ürettiğimiz Random sınıfının nesnesinin altında bulunan Next() fonksiyonu ilede rastgele sayı üreteceğiz. Bu fonksiyonun 3 farklı kullanımı var. Birincisi parametresiz kullanımı. Bu kullanım ile 0 ile 2147483647 arasında (2147483647 integerin tutabileceği maksimum sayı boyutudur) rastgele bir tam sayı üretir. İkinci kullanım tek parametreli olarak kullanılıyor ve sıfır ile parametre olarak gönderdiğimiz sayı arasında rastgele bir sayı üretiliyor. Üçüncü kullanım ise iki parametreli olarak kullanımı. Bu kullanımda birinci parametre olarak verdiğimiz sayı ikinci parametre olarak verdiğimiz sayı arasında rastgele bir sayı üretiliyor. Biz bu üç kullanımdan ikincisini kullanacağız. Çünkü üreteceğimiz rastgele sayı sıfır ile karakterler isimli string değişkenin uzunluğu arasında olacağından ikinci kullanım daha makul olacaktır. Aslında üçüncü kullanımıda kullanabiliriz fakat zaten ilk parametremiz sıfır olacağından buna gerek yok.

for(int i = 0; i < 10; i++)
    sifre += karakterler[random.Next(dizi.Length)];

Son olarak oluşturduğumuz şifreyi ekrana yazdıralım.

Console.WriteLine("Oluşturulan Şifre: " + sifre);

Biz burada bir tane şifre oluşturmuş olduk fakat aynı anda birden fazla şifre oluşturmak isterseniz dışarıya bir for döngüsü daha koyarak istediğiniz sayıda şifre oluşturabilirsiniz. Örneğin her biri 10 karakterli 5 tane şifre oluşturmak istediğimizde kodumuz şöyle olacaktır;

for(int j = 0; j < 5; j++)
{
    for(int i = 0; i < 10; i++)
    {
        sifre += karakterler[random.Next(dizi.Length)];
    }
}

Eveett bu dersimizinde sonuna geldik, tüm C# derslerimize buraya tıklayarak ulaşabilirsiniz. Herkese hayırlı günler.

Skorumuz:
Oy Vermek İçin Tıklayın
[Toplam: 3 Ortalama: 3.7]

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu