Başlangıç > Kodlar > Visual Basic 6 ile EnCoding ve DeCoding

Visual Basic 6 ile EnCoding ve DeCoding


Genelde html kaynak kodu şifrelemede kullanılan 16 bitlik basit bir encoding yöntemini vb ile crypt ve decrypt ettiğimiz kolay anlaşılır bir program yapacağız.

Bu makalenin hem vb de orta düzey programcılar hemde kriptografi sevenlerin hoşuna
gideceğini düşünüyorum.

Örnek hash :
"u0077u0077u0077u002eu0064u0030u0067u006du0061u002eu006fu0072u0067"
Çözümü : "www.d0gma.org"

Ben vb6.0 compiler'ıyla derledim diğer versiyonlardan vb5.0 da sorun çıkacağını
sanmam ancak test etmedim....

İşte başlıyoruz....

Öncelikle vb yi açıyoruz ve "Standart EXE" türünde projeyi seçerek işe başlıyoruz.

Formumuzu uygun büyüklüğe getirerek iki adet textbox ve iki adet command button
ekliyoruz. Bu textbox lardan biri crypt etmek için diğeride decrypt etmek için
kullanılacak.

Textboxların "Multiline" özelliklerini "true" değerine ve "ScrollBars" özelliklerini
"2- Vertical" yapıyoruz.

General declaration kısmında şu değişkenleri tanıtalım:

Dim crypt(255) As String
Dim enscrypt(255) As String

Textboxların isimlerinin "text1" ve "text2" olduğunu ve command buttonların isminin
"command1" ve "command2" olduğunu varsayarak command1'in "_click" özelliğine şunları
yazıyoruz;

On Error Resume Next
a = 0
b = 0
For i = 0 To 255
crypt(i) = b & a
enscrypt(i) = (Chr(i))
b = b + 1
If (a <> "a" And a <> "b" And a <> "c" And a <> "d" And a <> "e" And a <> "f") Then
a = a + 1
b = b - 1
End If
If (a = 10) Or a = "a" Or a = "b" Or a = "c" Or a = "d" Or a = "e" Or a = "f" Then
Select Case a
Case "a": a = "b"
b = b - 1
Case "b": a = "c"
b = b - 1
Case "c": a = "d"
b = b - 1
Case "d": a = "e"
b = b - 1
Case "e": a = "f"
b = b - 1
Case "f": a = "0"
Case Else:
a = "a"
End Select
End If
If b = 9 Then
b = 0
End If
If b = 9 Then
c = 0
End If
DoEvents
Next

'buraya kadar olan kısımda dizi değişkenlere hash ve karakter değerlerini atadık
'bundan sonrası hashi çözmekte

Text2="" 'text2 nin içeriğini sildik
wq = InStr(1, Text1, "u00") 'hasin başladığı karakteri aratıp "wq" değişkenine
atıyoruz
For i = (wq + 3) To wq + Len(Text1) Step 6 'hash standart olduğundan her karakter
arası 6
Text1.SelStart = i
Text1.SelLength = 2 'hashler 2 karakterde gizli 🙂
For t = 0 To 255
If crypt(t) = Text1.SelText Then
inar = t
Text2 = Text2 & (enscrypt(t))
Exit For
End If
Next
DoEvents
Next
'KODUN SONU

Evet bu şekilde hashlenmiş bilgiyi açığa çıkardık.
Şimdi sırada cryp etme işleminde. Aslında tahmin edebileceğiniz gibi birinci işlemin
tersi. Command2 nesnesinin "_click" özelliğine şunları yazıyoruz:

On Error Resume Next
a = 0
b = 0
For i = 0 To 255
crypt(i) = b & a
enscrypt(i) = (Chr(i))
b = b + 1
If (a <> "a" And a <> "b" And a <> "c" And a <> "d" And a <> "e" And a <> "f") Then
a = a + 1
b = b - 1
End If
If (a = 10) Or a = "a" Or a = "b" Or a = "c" Or a = "d" Or a = "e" Or a = "f" Then
Select Case a
Case "a": a = "b"
b = b - 1
Case "b": a = "c"
b = b - 1
Case "c": a = "d"
b = b - 1
Case "d": a = "e"
b = b - 1
Case "e": a = "f"
b = b - 1
Case "f": a = "0"
Case Else:
a = "a"
End Select
End If
If b = 9 Then
b = 0
End If
If b = 9 Then
c = 0
End If
DoEvents
Next
'buraya kadar olan kısım olması gerektiği gibi aynısı
Text1="" 'html kodu içinde çalışabilmesi için kapatma js tag'
'KODUN SONU

CorsaN


TD Software


Reklamlar
  1. Henüz yorum yapılmamış.
  1. No trackbacks yet.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: