Java Rastgele Şifre Oluşturan Program

Java Rastgele Şifre Oluşturan Program
Java rastgele şifre oluşturan program
3

Java ile, metotları ve for döngüsünü kullanarak rastgele şifre oluşturan programı inceleyeceğiz. Kullanıcı tarafından şifrenin uzunluğu belirlenerek; şifre içerisinde büyük harfler, küçük harfler ve semboller gibi karakterlerden oluşan rastgele üretilen benzersiz bir şifre oluşturan programı birlikte inceleyelim.
 

İlk olarak scanner sınıfını ve random sınıfını tanımlamamız gerekiyor.

 

Şifrenin kaç basamaklı olacağını kullanıcıdan giriş alarak belirtiyoruz ve şifre uzunluğunun klavyeden girilen veri kadar olacağını belirtiyoruz.

 

Ekrana oluşturulan şifreyi metot içerisinde çağırarak yazdırıyoruz

 

Char tipinde bir metot oluşturuyoruz. Char tipiyle, veri içerisinde harf, rakam, işaret girilebilir.

 

Metot içerisine: string sınıfından bir veri tipi oluşturarak bu veri tipi içerisine; şifre dahilinde kullanılacak olan harfleri, sayıları, karakter ve sembolleri giriyoruz. Bu bölüm içerisinde isterseniz sembolleri veya karakterleri değiştirerek şifrede kullanılacak olan öğeleri isteğinize göre özelleştirebilirsiniz. Ayrıca karakterler sınıfını: büyükharf, küçükharf, sayılar gibi birden fazla string sınıfına ayırarak ayrıştırma yapabilirsiniz. Biz burada tek sınıf kullanacağız.

 

Eğer ki karakterler verisini birden fazla string sınıfına ayırırsanız, bu kısımda sınıfları birleştirmeniz gerekecektir.
String büyükharf = "QWERT..."; String küçükharf = "qwert..."; şeklinde yaptığınız ayırmada bu değerleri tek bir veri tipinde birleştirmek için bu kısım içerisinde; String deger = büyükharf + küçükharf; tanımlamasını yaparak değer verisi içerisinde verilerimizi tutmamız gerekmektedir. İnce ayrıntıları kaçırmayan kişiler için bu adım önemli gelebilir :) Biz herhangi bir sınıf birleştirmesi yapmadığımız için şuan için sadece karakterler verisini değer sınıfına atayacağız. Bunu atamak tamamen kullanıcının isteğine kalmıştır, ben burada herhangi bir ekleme yapabiliriz düşüncesiyle karakter sinifini başka bir string sınıfına atamış oldum.

 

Şifremizin uzunluğunu klavyeden girilen değere göre yapacak ve bu değer içerisinde kendini döndürerek, random sınıfında üretilen karakterleri for döngüsü içerisine aktaracak. i değeri sıfırdan başlayarak birer birer artarak uzunluk değerini belirlemiş olacak.

 

For döngüsü içerisinde birer birer uzunluk değerini aktarırken, random olarak karakter ataması yaptırıyoruz. Random metotuyla, rastgelesifre adında bir random sınıfı oluşturuyoruz. Random sınıfıyla karakterler rastgele seçilerek şifre içerisinde yer alacak.

 

Oluşturulan rastgele şifremizi deger metotu içerisinden alıyoruz ve for döngüsü içerisinde dönmüş olan i değerini sifre değerine atıyoruz. CharAt() yöntemini kullanarak dize içerisinde belirtilmiş olan karakterleri kendi içerisinde döndürmek için kullanıyoruz ve random değerini kendi içinde döndürüyoruz.

 

Bu bölüme kadar şifre oluşturmanın temel kodlarını yazdık.
Bu kısımdan itibaren şifreyi oluştururken bize geri sayım yapmasını, saniyeler ile sayarken sanki arka planda işliyormuş görüntüsü vereceğiz. Kaç adım oluşacağını, yani kaç saniyede oluşacağını for döngüsü içerisinde döndürüyoruz. For döngüsü içerisinde ki " gerisayim <= 4 " değerini, kaç saniye geriye doğru saymasını istiyorsanız ona göre değiştirebilirsiniz.

 

For döngüsü içerisinde 4’den geriye doğru giderken her adımda yazı yazmasını, aynı zamanda geri doğru saymasını yazdırıyoruz. Bu sayma değerlerini yazdırması için gerisayim değerinden 4’ü çıkartarak bize her şifreniz oluşturuluyor çıktısını verdikten sonra geri sayımın kalan süresini vermiş olacak.

 

Try catch metodunu burada kullanmamızın sebebi herhangi bir hata yakalamak değil, programı; Thread.sleep metoduyla kısa süreliğine askıya alarak yukarıda bulunan for döngüsü içerisinde döndürerek geriye sayım yaptırmaktır. Ben burada thread.sleep değerini yani programın askıya alınacağı süreyi (1000) olarak belirledim. Siz isteğinize göre bu değeri değiştirebilirsiniz.

 

Ardından oluşturulan şifrenin çıktısını verdiriyoruz ve programı random sınıfında oluşturulan değerin olduğu sifre verisine geri döndürüyoruz.

 

Kodumuzun bir bütün haline bakacak olursak:

Kodumuzun çıktısı:

İlginizi Çekebilir

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Yorumlar (3)

  1. 2 Mart 2021

    Çok güzel bir içerik ilgi çekici ve güzel olmuş elinize sağlık

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir