Merhaba arkadaşlar..
Baktım herkez şifreleme programları ile uğraşıyor bende dedim bir yardımım dokunsun.
Birazdan paylaşacağım kodda kendi mantığım ile hazır metotları kullanarak bir şifreleme oluşturdum.
Yani kodda sırasıyla şunlar yapılıyor:
1- İlk önce şifrelenmesini istediğimiz metin ters çevriliyor.
2- Ters çevrilmiş hali MD5 ile şifreleniyor.
3- MD5 ile şifrelenmiş hali tekrar ters çevriliyor.
4- Sonra SHA1 ile tekrar şifreleniyor.
5- SHA1 ile şifrelenmiş hali tekrar ters çevriliyor.
ve bitiyor. Kırılması imkansız. Bu şifrelemeyi çözmek için bir kod paylaşamicam çünkü MD5 ve SHA1 şifrelemeleri KIRILAMAZ bunun için şöyle bir mantık yapabilirsiniz:
Şifreleme programınızda bir veritabanı yaparsınız adam şifrelenmesi için bir metin girdiğinde o metni veritabanına kaydedersiniz adam sonra o şifrelenmiş halini çözmek için o şifrelenmiş halini girdiği zaman veritabanındaki metni şifrelersiniz sonra adamın girdiği şifrelenmiş haliyle karşılaştırırsınız eğer birbiriyle aynı ise veritabanına kaydettiğiniz o metni adama gösterirsiniz.
Sizde böyle hem kendi algoritmanızı oluşturabilirsiniz içinde MD5 - SHA1 gibi hazır şifreleme algoritmalarınıda katın. Örnek olarak ben her işlemden sonra ters çevirdim siz hem onu yapıp hemde o şifrelenmiş halinde her harf sonrasında bir özel karakter katabilirsiniz falan bu size kalmış tamamen düşüncenize mantığınıza kalmış.
Basit düşünmeyin arkadaşlar her an herşeyi zorlaştırın. Bakıyorum sadece MD5 ile şifreleyip bırakıyorsunuz. Facebook bile kendi şifreleme algoritmasını kullanıyor. Çünkü MD5 veya SHA1 illa birgün kırılacak(zor bir ihtimal ama bilgisayar dünyasında herşey mümkün). Bu yüzden kendi algoritmalarınız daha güvenli olur.
Vereceğim kodu istediğiniz gibi kullanabilirsiniz sadece teşekkür butonu ve yorum yaparsanız sevinirim herkeze HELALdir. Bazıları yorum atmazsanız haram ederim falan diyor bence iyi birşey değil.
Neyse fazla konuştum şimdi kodlara geçelim:
Forma eklenecekler:
1 TextBox - Name: txtSifre
1 TextBox - Name: txtSifrelenmisHali
1 Button - Name: Button1
Form1'de F7 ye basın herşeyi silin ve kodları direk yapıştırın.
Kod:
Imports System.Security.Cryptography
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
' değişkenler tanımlanıyor
Dim password As String
Dim passwordHASH As String
password = StrReverse(txtSifre.Text) ' şifre alınıp ters çevriliyor ve password değişkenine aktarılıyor
' ilk olarak MD5 ile şifreleniyor
MD5(password)
password = StrReverse(password) ' MD5 ile şifrelenmiş olan şifreyi tekrar ters çevirdik
Call passwordEncryptSHA(password) ' SHA1 şifreleme function u çağırılıyor
passwordHASH = passwordEncryptSHA(password) ' SHA1 ile şifrelenmiş şifre passwordSHA değişkenine aktarılıyor
passwordHASH = StrReverse(passwordHASH) ' SHA1 ile şifrelenmiş olan şifreyi tekrar ters çevirdik
' şifrenin en son hali yazdırılıyor ve bitiyor.
txtSifrelenmisHali.Text = passwordHASH
End Sub
Public Function passwordEncryptSHA(ByVal password As String) As String
Dim sha As New SHA1CryptoServiceProvider ' yeni bir SHA1CryptoServiceProvider nesnesi oluşturuluyor
Dim bytesToHash() As Byte
bytesToHash = System.Text.Encoding.ASCII.GetBytes(password) ' şifre ASCII ye dönüştürülüyor
bytesToHash = sha.ComputeHash(bytesToHash) ' SHA1 şifreleme başlıyor
Dim encPassword As String = ""
For Each b As Byte In bytesToHash
encPassword += b.ToString("x2")
Next
Return encPassword ' ve sonunda SHA1 ile şifrelendi ve ana programa döndürüldü
End Function
Public Function MD5(ByVal yazi As String) As String
' MD5 şifrelemeyi açıklamakla uğraşmak istemiyorum
' MD5 şifreleme her yerde var zaten araştırırsanız bilgi edinirsiniz
Try
Dim MD5şifreleyici As New System.Security.Cryptography.MD5CryptoServiceProvider
Dim baytlar As Byte() = System.Text.ASCIIEncoding.ASCII.GetBytes(yazi)
Dim hash As Byte() = MD5şifreleyici.ComputeHash(baytlar)
Dim kapasite As Integer = (hash.Length * 2 + (hash.Length / 8))
Dim sb As System.Text.StringBuilder = New System.Text.StringBuilder(kapasite)
Dim I As Integer
For I = 0 To hash.Length - 1
sb.Append(BitConverter.ToString(hash, I, 1))
Next I
Return sb.ToString().TrimEnd(New Char() {" "c})
Catch ex As Exception
Return "0"
End Try
End Function
End Class
Bu kod nasıl bir tür şifre çıkarıyor görmeniz için size hemen yaptığım programın resmini gösterim:
Kolay Gelsin.
İnşAllah yardımcı olabilmişimdir.



