İlginizi Çekebilir
  1. Ana Sayfa
  2. C Sharp

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

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

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

Random yani  rastgele değerler üretmek istediğimizde Random sınıfı ve Next, NextBytes, NextDouble Random metotlarını kullanırız. En çok kullanılan metot Next() metodudur.

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

Üretilen değer 0 ile +2.147.483.646 sayıları arasında kalan herhangi bir sayıdır.

Random Rnd= new Random();
int sayi = Rnd.Next(50); //0 ile 50 arasında 50 dahil değildir.
int sayi = Rnd.Next(50,100); //50 ile 100 arasında  100 dahil değildir.

50 – 100 arasında 5 random sayı oluşturalım ve bir array a dolduralım.

Int16[] RndArray = new Int16[5];
Random Rnd = new Random();

for (int i = 0; i < 5; i++)
{
     int sayi = Rnd.Next(50, 100);
     RndArray = sayi;
}

Random Sınıfı ile Harf Üretmek

Random ile harf üretemeyiz ama ASCII tablodaki harf kodlarını kullanarak harf üretebiliriz. Büyük harfler 65 ile 90 arasında yer almaktadır.

Random Rnd = new Random();
int ASCII = Rnd.Next(65, 91);
char BuyukHarf = Convert.ToChar(ASCII);

 

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

Zor 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();

Evet arkadaşlar 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.

C Sharp Eğitim Seti eğitimi sayfasına gitmek için tıklayınız.

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

Bu yazıya tepkiniz ne oldu?

Yazar Hakkında

Lise Ağ Sistemleri ve Yönetimi bölümü, üniversite Bilgisayar Programcılığı bölümü Ön Lisans, Yönetim Bilişim Sistemleri Lisans öğrenimi aldım. Askerlik görevimi tamamladım. Uzmanlık alanım; C# ve SQL Programlama dilleri ile müşteri odaklı, kullanıcı dostu ERP ve CRM gibi sistemleri geliştirmektir. Ayrıca şuanda PHP ve MYSQL alanında projeler geliştirmekteyim. C++, Phyton, Xamarin, MVC gibi konuları öğrenmek ve kendimi geliştirme çabası içerisindeyim. Discord için: https://discord.gg/FBxZeHu9

Değerli yorumlarınızı bekliyorum. :)

Cevabı İptal Et

Yorumlar (2)

  1. 4 sene önce

    Merhaba. Benim bir sorum olacaktı size,soru sormaktan çekinmeyin demişsiniz benden ordan cesaret aldım:)
    Üniversitede Bilgisayar Programcılığı bölümünde okuyorum ve C# dan bir ödevim var,ödev şu;
    içinde en az birer tane büyük harf,küçük harf,rakam ve özel karakterlerden oluşan 8 karakterli Random şifre oluşturma ASCİİ karakterlerden oluşucak.
    sitenizde bunun gibi bir örnek var ama biz henüz StringBuilder bunu görmediğimiz için hocamız kabul etmicektir.
    StringBuilder kullanmadan nasıl yapabiliirm?
    Şimdiden Teşekkürler…

    • Merhaba,
      Sorduğunuz için teşekkürler. :)
      Buradaki örnekte string builder kullanmamın amacı karakterleri uç uça eklemek için. Şiz bu kodları;

      String sifre = “”;
      sifre += Karakter;

      şeklinde += ile yazabilirsiniz. Bu şekilde yine karakterleri uç uca eklemiş ve StringBuilder kullanmamış olursunuz.

SÜMEYYE YÜCE için bir cevap yazın Cevabı iptal et

E-posta hesabınız yayımlanmayacak.