11 Nisan 2012 Çarşamba

C# 'da Şifre Zorlu Derecesi


Merhaba arkadaşlar. Her projede kullanabileceğiniz basit bir şifre zorluk derecesi formu. Öncelikle SifreSeviye adında geriye string dönen bir metodumuz olsun.Bu metodda can alıcı nokta Char sınıfının true-false dönen IsLatter ve IsDigit metodlarıdır. Bu metodu TextBox ın TextChange metodunda çağırarak girilen string in karakterleri sırayla alınarak char 'a döndürülür. Bu Char karakteri de IsDigit motodunda true dönerse şifre de sayı var, IsLatter metodunda da true dönerse harf de var deriz. 

        public string SifreSeviye(string Sifre)
        {
            int UzunlukAl = Sifre.Length;
            if (UzunlukAl < 6)
            {
                return "Zayıf Şifre..";
            }
            bool alfaNumerikMi = false;
            string alfalar = "*?+#&!é/-\\";
            bool harfMi = false;
            bool rakamMi = false;
            for (int n = 0; n < Sifre.Length; n++)
            {
                char a = Convert.ToChar(Sifre.Substring(n, 1));
                if (Char.IsLetter(a))
                {
                    harfMi = true;
                }
                else if (Char.IsDigit(a))
                {
                    rakamMi = true;
                }
                else if (alfalar.Contains(a))
                {
                    alfaNumerikMi = true;
                }
            }

            if (alfaNumerikMi == true && harfMi == true && rakamMi == true)
            {
                return "Güçlü Şifre..";
            }
            else if (rakamMi == true && harfMi == true)
            {
                return "Orta Seviye..";
            }
            else
            {
                return "Zayıf Şifre..";
            }
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            lblDerece.Text = SifreSeviye(txtSifre.Text);

            if (SifreSeviye(txtSifre.Text) == "Zayıf Şifre..")
            {
                lblDerece.ForeColor = Color.Red;
            }
            else if (SifreSeviye(txtSifre.Text) == "Orta Seviye..")
            {
                lblDerece.ForeColor = Color.Orange;
            }
            else
                lblDerece.ForeColor = Color.Green;
        }


Kural olarak bir şifre harflerden, sayılardan ve alfanumerik karakterlerden meydana geliyorsa şifre güçlüdür. Sadece harflerden ve sayılardan meydana geliyorsa şifrenin güçlük seviyesi ortadır. Bu seçeneklerin dışında kalan olasılıklar için ise şifre zayıftır mantığıyla çalışıyor.

                               




Hiç yorum yok:

Yorum Gönder