158 Görüntülenme

C# Random Sınıfı ile Oto Şifre Nasıl Oluşturulur?

C# Random Sınıfı ile Oto Şifre Nasıl Oluşturulur?
4.7 (93.33%) 3 Oy

C# Random Sınıfı ile Oto Şifre Nasıl Oluşturulur? yazımız ile C# derslerine devam ediyoruz. Otomatik şifre oluşturma hakkında bir kaç soru aldım ve bu yüzden bu konu hakkında bir yazı yazmak istedim. Bu vereceğim kodlar Windows Application’larda sorunsuz çalışır. ASP.Net ile sorunsuz çalışması lazım ama yine de emin olamıyorum. Aslında ikiside C# temelli olduğundan bir sorun olmaması gerekir.

C# hakkındaki diğer derslerim için tıklayabilirsiniz.

Random Sınıfı ile Sayı Üretmek

Rastgele değerler için Random sınıfı ve içerisindeki Next, NextBytes, NextDouble metotlarını kullanırız. En fazla tercih edilen metot Next() metodudur.

Random Rnd= new Random();
int RandomSayi= Rnd.Next();

Bu kod ile üretilen değer 0 ile +2.147.483.646 arasındaki herhangi bir sayıdır. Bazı durumlarda üretilen bu sayıları kısıtlamak isteyebiliriz.

Random Rnd= new Random();
int sayi = Rnd.Next(50); //0’dan 50’ye kadar rastgele sayı üretir. 50 dahil değildir.
int sayi = Rnd.Next(50,100); //50 ile 100 arasında rastgele bir sayı üretir. 100 dahil değildir.

50 ile 100 arasında 5 adet rastgele sayı oluştup bir array list e atalım.

Int16[] RndArray = new Int16[5];
Random Rnd = new Random();
for (int i = 0; i < 5; i++)
{
int sayi = Rnd.Next(50, 100);
// Sayıların aynı olma ihtimalleri vardır.
RndArray = sayi;
}

 

Random Sınıfı ile Harf Üretmek

Normalde rastgele harf üretmemizi sağlayan bir metot yoktur ama ASCII tablodaki harf kodlarını kullanarak harf üretebiliriz. ASCII tabloda büyük harfler 65 ile 90 arasında yer almaktadır.

Random Rnd = new Random();
int ASCII = Rnd.Next(65, 91);
//90 listeye dahil edilmeyeceğinden son sayısı 91 yazdık. 91 dahil değildir.
char BuyukHarf = Convert.ToChar(ASCII);

Aşağıdaki ASCII kod tablosu ile istediğiniz ifadeyi üretebilirsiniz.

Unutmayın 10’luk sistemde yazan sayıları kullanmanız gerekiyor.

 

Random Sınıfı ile Oto Şifre Oluşturmak

Şimdi bu öğrendiklerimizi harmanlayalım ve rastgele bir şifre oluşturalım.

Random Rnd= new Random();
StringBuilder StrBuild = new StringBuilder();
for (int i = 0; i < 8; i++)
{
int ASCII= Rnd.Next(32, 127);
char Karakter = Convert.ToChar(ASCII);
StrBuild.Append(Karakter);
}
textbox1.Text = StrBuild.ToString();
// Ascii tabloda 32 ile 127 arasında klavyeden 
// yazabileceğiniz tüm rakam, harf ve özel karakterler yer almaktadır.

 

Evet arkadaşlar C# random sınıfı ile oto şifre oluşturmak aslında bu kadar basit. Yine bana gelen bir soruyuda cevaplamak istiyorum. Random Sınıfı ile key oluşturmanız kesinlikle doğru değildir. Çünkü her seferinde farklı olacağından key’in doğru olup olmadığını kontrol etme şansınız yoktur. Tek kullanımlık keyler üretmeniz de söz konusu değildir. Sonuçta tek kullanımlık olsa da bir kontrolden geçmesi gerekmektedir.

Şimdi aklıma geldi. Şöyle bir şey yapabilirsiniz. Bir program yazdınız lisanslanmadığında verileri karıştırmak için kullanabilirsiniz. Örneğin gridde gösterdiğiniz verileri random hücreleri alarak içlerindekileri yine random ile karıştırabilir yada istediğiniz belirli şeyleri yazdırabilirsiniz. Böyle programlar görmüştüm zamanında..

C# hakkındaki diğer derslerim için tıklayabilirsiniz.

Bu dersimizde bu kadar dostlar. Sağlıcakla ve takipte kalın. 😉

Liseden, Ağ Sistemleri ve Yönetimi bölümünden mezun oldum. Üniversiteden (2 yıllık), Bilgisayar Programcılığı bölümünden mezun oldum. Şuanda da AÖF, Yönetim Bilişim Sistemleri bölümünde okumaktayım.

Uzmanlık alanlarım; Windows Sistemleri, HTML, CSS, C# ve SQL’dir.

Hobi olarak uğraştığım genel konular, Photoshop, After Affects, Corel Draw’dır.Film, YABANCI dizi, Anime izlemeyi ve Manga okumayı severim. Arkadaşlarımla yürüyüş yapmayı ve grup olarak aktivitelere gitmeyi severim. Geri kalan zamanlarımın tümü bilgisayar karşısında geçer.