Şifre Algoritması Oluşturma

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
ALUCARD
Üye
Mesajlar: 1269
Kayıt: 27 Eyl 2003 10:12
Konum: Samsun
İletişim:

Şifre Algoritması Oluşturma

Mesaj gönderen ALUCARD »

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.
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz

Erkan ÇAĞLAR
ertank
Kıdemli Üye
Mesajlar: 1657
Kayıt: 12 Eyl 2015 12:45

Re: Şifre Algoritması Oluşturma

Mesaj gönderen ertank »

Merhaba, kullandığınız Delphi sürümü nedir acaba?
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2357
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Re: Şifre Algoritması Oluşturma

Mesaj gönderen freeman35 »

https://stackoverflow.com/questions/839 ... lower-case
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 !!!
Kullanıcı avatarı
ALUCARD
Üye
Mesajlar: 1269
Kayıt: 27 Eyl 2003 10:12
Konum: Samsun
İletişim:

Re: Şifre Algoritması Oluşturma

Mesaj gönderen ALUCARD »

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;
Böyle bir çözüm buldum belki işine yarayan olur
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz

Erkan ÇAĞLAR
ertank
Kıdemli Üye
Mesajlar: 1657
Kayıt: 12 Eyl 2015 12:45

Re: Şifre Algoritması Oluşturma

Mesaj gönderen ertank »

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.
Dosya ekleri
PasswordPolicyCheck.rar
(57.86 KiB) 146 kere indirildi
Kullanıcı avatarı
ALUCARD
Üye
Mesajlar: 1269
Kayıt: 27 Eyl 2003 10:12
Konum: Samsun
İletişim:

Re: Şifre Algoritması Oluşturma

Mesaj gönderen ALUCARD »

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
Cevapla