Python’da rastgele şifre üreten program yazmak

Bir önceki yazımda üreteçleri anlatmıştım. Bu yazımda ise bir uygulama olarak rastgele şifre üreten bir program nasıl yazılabilir, onu anlatmaya çalışacağım. Rastgele değerler üretmek için numpy kütüphanesini kullanacağım.

 

Programı kısaca anlatmak gerekirse, önce harfler, sayılar ve özel karakterlerden oluşan bir liste oluşturacağım, sonra ise bu listeyi kullanarak rastgele bir şifre üreteceğim. Haydi başlayalım.

İlk satırda numpy kütüphanesini import ettik. Daha sonra yazdığım fonksiyon ise verilen iki karakter arasındaki karakterleri üreten bir üreteç döndürüyor. Bir önceki yazıda yield’i anlattığım için bu kod parçasında “ord()” ve “chr()” komutunu anlatmaya değer buluyorum.  Ord komutu içine boyutu 1 olan bir string alır ve bu string’in unicode değerini bize verir. Örnekleyelim; deneme=ord(“a”) şeklinde bir kod yazıp, print deneme ile deneme değişkenini ekrana yazdırırsak, program ekrana 97 değerini basacaktır. 97 “a” harfinin unicode değeridir. Chr komutu iste tam tersini yapacaktır; chr(97) bize “a” değerini döndürecektir. Yani fonksiyonumuz c1 ve c2 arasındaki tüm karakterlerin unicode değerleri ile bir üreteç oluşturacak. Devam edelim; şifre uzunluğumuzu programa verip listemizi oluşturalım.

Burada ise 15 karakter uzunluğunda bir şifre olsun dedim. Peşinden 0 ile 9 arası sayılar bulunan sayı listesini ve içinde benim seçtiğim özel karakterlerin bulunduğu ozel isimli listeyi oluşturdum. Sonrasında ilk kod parçasında oluşturduğum fonksiyon ile ürettiğim üreteci kullanarak, a’dan z’ye tüm harfleri (hem büyük, hem küçük harfleri) karakterler isimli listeme ekliyorum. Son olarak da, karakterler listesine sayı ve özel isimli listeleri ekliyorum. Karakerler isimli listeyi ekran bastığımızda sonuç şöyle olacaktır;

Tüm karakterlerimizi tek bir listede topladık. Buradan sonra ise, bu listeden rastgele elemanlar seçip şifremizi oluşturacağız.

Önce rastgele 15 elemanı tutacak bir boş liste ve onun birleştirilmiş halini tutacak boş bir string oluşturdum. Döngümüz başta belirlediğimiz şifre uzunluğu kadar dönüyor ve her dönüşte karakterler listemizden bir elemanı sifre isimli listeye ekliyor. Döngüde np.random.uniform(0,len(karakterler)) komutu 0 ile karakterler listesinin boyutu arasında rastgele bir sayı oluşturuluyor, daha sonra eklenecek_eleman=int(eklenecek_eleman) komutu bu rastgele sayıyı tam sayıya çeviriliyor ve son olarak sifre.append(karakterler[eklenecek_eleman]) komutuyla karakterler isimli listemizden oluşturduğumuz rastgele sayı numaralı eleman sifre listesine ekleniyor. Programın tam hali aşağıdaki gibidir;

Böylece basit ve kullanışlı bir şifre üreteci geliştirmiş olduk. Programın birkaç tane deneme çıktısı şöyledir;
Uçbirim’den ayrılmayın..

guest
1 Yorum
En Yeniler
Eskiler Beğenilenler
Inline Feedbacks
View all comments
Anonim
Anonim
5 yıl önce

Çok sağol