Arkadaşlar Merhaba;
Ben bilgi güvenliği kapsamında şifre algoritması oluşturmak istiyorum.
Örnek olarak en az 8 karakter olacak, içinde en az 1 büyük harf ve 1 küçük harf, 1 noktalama işareti olacak şeklinde.
Karakter sayısını alıyorum ama string bir ifadenin içinde büyük harf varmı diye nasıl kontrol edeceğimi bilemiyoum.
bunun bir fonksiyonu varmı dır. yoksa karakterleri diziye atıp büyük mü diye mi kontrol etmeliyim bulamadım.
Yardımcı olablecek arkadaşlara şimdiden çok teşekkür ederim.
Şifre Algoritması Oluşturma
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Şifre Algoritması Oluşturma
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz
Erkan ÇAĞLAR
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz
Erkan ÇAĞLAR
Re: Şifre Algoritması Oluşturma
Merhaba, kullandığınız Delphi sürümü nedir acaba?
Re: Şifre Algoritması Oluşturma
https://stackoverflow.com/questions/839 ... lower-case
Bu link yardımcı olur sanırım, akibetini bildirimeyi unutma.
Kolay gele
Bu link yardımcı olur sanırım, akibetini bildirimeyi unutma.
Kolay gele
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Re: Şifre Algoritması Oluşturma
Kod: Tümünü seç
Function SifreKontrol(str:String):Boolean;
var
u : integer;
i: integer;
Durum: array[0..4] of Boolean;
begin
if str.Trim ='' then
exit(False);
Durum[0] := False; Durum[1] := False; Durum[2] := False; Durum[3] := False; Durum[4] := False;
for i := 0 to Length(str) do
begin
if str[i].IsUpper = true then // Büyük Harf Varmı
Durum[0] := True;
if str[i].IsLower = true then // Küşüç Harf Varmı
Durum[1] := True;
if str[i].IsNumber = true then //Numarik değer varmı
Durum[2] := True;
if (str[i].IsSymbol = true) then //Özel Sembol varmı
Durum[3] := True;
if (str[i].IsPunctuation = true) then // Noktalama İşareti varmı
Durum[4] := True;
end;
if (Length(str)>8) and (Durum[0]=True)and(Durum[1]=True)and(Durum[2]=True) and(Durum[3]=True) and(Durum[4]=True) then
Result := true
ELSE
Result := False;
end;
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz
Erkan ÇAĞLAR
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz
Erkan ÇAĞLAR
Re: Şifre Algoritması Oluşturma
Merhaba,
Kullandığınız Delphi sürümünü bildirmediniz. Ancak örnek verdiğiniz kod son sürümlerden biri olduğunu gösteriyor.
Kullandığınız şifre kontrol kodu görebildiğim kadarıyla çok sağlıklı değil.
1- Delphi'de string indeksi (ilk karakter) normalde 1 ile başlar. Sıfır olması için son sürümlerde $ZEROBASEDSTRINGS compiler direktifi kullanılmalı. Yukarıdaki kod $ZEROBASEDSTRINGS OFF olması durumunda çalışma zamanında hata verecek veya doğru sonuç üretmeyecektir.
2- Esnekliği yok. Yani farklı parametrelere sahip bir şifre kontrolüne ihtiyacınız olduğunda kullanamazsınız. Yeni fonksiyon yazmalısınız.
3- Sizin için gerçerli olmasa da belli durumlarda boş şifreye izin verilir.
4- Birçok sistemde özel karakterler belli olmalı. Yani harf ve rakam dışındaki herşey özel karakter olarak kabul edilmeyebilir. Özellikle veritabanı işlemlerinde sorun çıkmaması için bazı karakterlerin kullanımına izin verilmez. Bazen de gözükmeyen özel karakterlere izin verilmez.
5- Boşluk karakteri soruna yol açabilir. Kullanımını isteyen/istemeyen olabiliyor. Kullanıcılar boşluk karakterini algılayamayacakları düşünülür ise özel olarak kullanım dışı bırakılır.
Yukarıdaki durumların tamamını ve fazlasını kontrol edebilen Delphi 10.3.3 ile hazırlanmış örnek projeyi ekte bulabilirsiniz.
Kullandığınız Delphi sürümünü bildirmediniz. Ancak örnek verdiğiniz kod son sürümlerden biri olduğunu gösteriyor.
Kullandığınız şifre kontrol kodu görebildiğim kadarıyla çok sağlıklı değil.
1- Delphi'de string indeksi (ilk karakter) normalde 1 ile başlar. Sıfır olması için son sürümlerde $ZEROBASEDSTRINGS compiler direktifi kullanılmalı. Yukarıdaki kod $ZEROBASEDSTRINGS OFF olması durumunda çalışma zamanında hata verecek veya doğru sonuç üretmeyecektir.
2- Esnekliği yok. Yani farklı parametrelere sahip bir şifre kontrolüne ihtiyacınız olduğunda kullanamazsınız. Yeni fonksiyon yazmalısınız.
3- Sizin için gerçerli olmasa da belli durumlarda boş şifreye izin verilir.
4- Birçok sistemde özel karakterler belli olmalı. Yani harf ve rakam dışındaki herşey özel karakter olarak kabul edilmeyebilir. Özellikle veritabanı işlemlerinde sorun çıkmaması için bazı karakterlerin kullanımına izin verilmez. Bazen de gözükmeyen özel karakterlere izin verilmez.
5- Boşluk karakteri soruna yol açabilir. Kullanımını isteyen/istemeyen olabiliyor. Kullanıcılar boşluk karakterini algılayamayacakları düşünülür ise özel olarak kullanım dışı bırakılır.
Yukarıdaki durumların tamamını ve fazlasını kontrol edebilen Delphi 10.3.3 ile hazırlanmış örnek projeyi ekte bulabilirsiniz.
- Dosya ekleri
-
- PasswordPolicyCheck.rar
- (57.86 KiB) 174 kere indirildi
Re: Şifre Algoritması Oluşturma
Hocam çok teşekkür ederim. Çok işime yaradı Allah razı olsun.
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz
Erkan ÇAĞLAR
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz
Erkan ÇAĞLAR