Favorilerine Ekle | Giriş Sayfan Yap | Tavsiye Et

 

Kurs Tanıtım Sayfası | Süper Üye Kimdir? | Menü Tasarımı Konulu Örnek Ders
Kod İndir| Hazır Kodlar | Makaleler| İpuçları | VB .NET Kursu | Dersler | Forum | Alt Bölümler | Servisler
    Merhaba Misafir
    anasayfa » visual basic makaleleri » Dosya Şifreleme Mantığı ve Küçük Bir Örnek
Üye Girişi
Kullanıcı Adı:  
Şifre : 
Kaydet ?
Siteden tam olarak faydalanabilmek için üye olmalısınız.
Unuttuğunuz şifrenizi öğrenebilmek için kayıt sırasında verdiğiniz Hatırlatma Cevabı'nı bilmeniz gereklidir.
Şifre hatırlatma işlevini sadece 3 defa kullanma hakkınız vardır.
Kullanıcı adını ve şifresini unutan üyelere email ile yardım verilmez.

Aktivasyon Gelmedi mi?Aktivasyon mesajınız email adresinize gelmedi mi?
Buraya tıklayarak bir kez daha aktivasyon mesajı gönderilmesini sağlayabilirsiniz.
Lütfen email hesabınızın BULK ve SPAM klasörlerini de kontrol ediniz.
Rastgele Makale

VB.NET İLE MICROSOFT WORD UYGULAMALARI

Yazar: lagrange
Word′ü .NET ile çok kolay bir şekilde object model
olarak kullanabilir; böylece kullanıcılarımıza word dokümanları açabilir, metin formatları üzerinde rahatlıkla oynayabilir, uygulamalarını word dokümanlarına kaydedebilir ve çıktı alabilirsiniz


Webmasterlar
Sitenize Ekleyin!
Sitenizde "Son Eklenen 10 Visual Basic Yazısı"'nı göstermek ve içeriğini zenginleştirmek için buraya tıklayınız.

Vbasicmaster.com'a link verin!
Aşağıdaki minik banneri sitenize eklemek için tıklayın!

Çevrimiçi Üyeler
halilyaman85

Üye Sayısı:
Ziyaretçiler nerede?
Yayın № : 12225
Yayın Tar:26.09.2011
Yazar : spectre67
Hit :3261

Bu Yazarın Yazıları Sadece bu yazarın makale göster
Bu Yazıyı Tavsiye Et

Merhaba arkadaşlar bu makalemi siz değerli arkadaşlarıma yararlı olur dileklerimle yazmaya başlıyorum.
Geçenlerde başladığım projemde login işlemlerini yaparken şifrelemeyi nasıl yapacağım diye araştırma yapıyordum . herkesin aklına gelecek gibi;
İlk olarak şifre ve kullanıcı adını dosyaya kaydetmek ve oradan okumak aklıma geldi ve işlemi yaptım daha sonra herhangi bir kişi bu dosyayı not defterinde açsa şifre ve kullanıcı adını görebilir.
ikinci olarak şifre ve kullanıcı adını regedit(kayıt defterine kaydetmek)' e kaydetmek bunu da yaptım daha sonra aklıma regeditin kullanımının çok basit ve hemen hemen tüm kullanıcılar bunu öğrenebilir ve şifrelerime ulaşabilir.
daha sonra veritabanına kaydetmek aklıma geldi bu da aynı şekilde veri tabanına bakan herhangi bir şahıs şifre ve kullanıcı adımı görebilir.
Son olarak şifrelerimi herhangi bir dosyaya kaydedip bu dosyayı kendi yazacağım bir algoritmayla şifreleme ve bu dosyanın algoritmasını yalnız benim yazacağım kod ile çözmek aslında tüm programlarda bunu yapıyor.
Örneğin bir pdf dosyasını ele alalım pdf dosyasını not defterinde açmaya çalıştığınızda anlamsız karakterlerle dolu bir metin karşınıza çıkar ama bu dosyayı adobe reader ile açtığınızda anlamlı bir bütünle karşılaşırsınız. yani not defteri bu dosyanın algoritmasını bilmezken adobe reader bu dosyanın algoritmasına sahiptir.
Şimdi bizim yapacağımız işlemlerde buna benzer olacak öncelikle not defterinde

kullanıcı adi:kullanıcı1
parola:1234

şeklinde bir dosya hazırlayıp bu dosyayı c sürücüsünün kök dizinine deneme.txt olarak kaydedelim.

şimdi bu dosyayı vb.net te hazırlayacağımız bir proje ile byte byte okuyalım.
bu işlemi yapan kod aşağıdadır.


Dim icerik As FileStream=New FileStream("c:\deneme.txt",FileMode.Open,FileAccess.Read)
'Bu kod deneme.txt dosyasını okuma modunda açıyor.
Dim icerik_uzunlugu As Long ' İçeriğin uzunluğunu tutan değişken
icerik_uzunlugu= icerik.Length 'içeriğin uzunluğu değişkene akatrılıyor.
Dim icerik_Byte(icerik_uzunlugu) As Byte ' bu dizi deneme.txt dosyasını byte byte tutacak dizidir.
icerik.Read(icerik_Byte,0,CInt(icerik_uzunlugu)) ' Burada dosya icerigi 0. byte'tan son byte kadar okunup icerik_Byte dizisine aktarılıyor.
icerik.Close() ' Açılan deneme.txt dosyası kapatılıyor.

Buraya kadar olan kısımda oluşturduğumuz deneme.txt dosyasını byte byte okuduk ve bu dosyanın içeriğini bir dizimize akdardık. şimdi işin en güzel kısmına geldik şimdi kendi oluşturduğumuz bir algoritma ile dosyamızı şifreleyerek sistemimize kaydedeceğiz.


Oluşturduğumuz algoritma ne kadar karmaşık ve zor ise çözülmesi okadar zordur.

en zor algoritmalardan birini yazalım şimdi:)
Algoritmamız okunan byte verilerinin 1 fazlasını alan bir kod olsun :) oldukça zor değilmi:)

Şimdi kodumuza geçelim yukarıda dosyamızın içeriğini byte olarak icerik_Byte() dizisine aktarmıştık şimid bu dizimizi kullanarak yeni bir dosya oluşturalım dosyamızın hali deneme.sks olsun . bu dosyamızıda c:\deneme.sks olarak kaydedeceğiz.

Dim icerik_yaz As FileStream = New FileStream("c:\deneme.sks", FileMode.Create) ' dosyamızı oluşturma kibinde açtık.

'şimdi icerik_Byte() dizimizin içeriğini okuyup tüm byteların 1 fazlasını alarak dosyamıza yazalım.

For i=0 To icerik_Byte.Length-1
icerik_yaz.WriteByte(Cbyte(CInt(icerik_Byte(i))+1))
Next
icerik_yaz.Close()
'Buraada dizi içeriğini 1 arttırdık ve deneme.sks dosyasına yazdık


Şimdi deneme.sks dosyanını not defteri ile açtığınızda aşağıdaki gibi bir metinle karşılaşırsınız.

lvmmboşdş!bej;lvmmboşdş2
qbspmb;2345

artık bu algoritmayı geliştirmak size kalmış aynı şekilde deneme.sks dosyasını byte byte okutacak ve geriye bir eksiği alınarak deneme.txt dosyasına yazarsanır ilk deneme.txt dosyasını elde edersiniz.

Bu makale sadece bir örnek geliştirmek size kalmış .

Umarım yardımcı olmuşumdur. Bir sonraki Makalemde görüşmek üzere.




Yorumlar, eklemeler ve düşünceler
        Merhaba,

Yeni olşan Byte karşılığı bir karakter yoksa (örneğin ben her byte'ı 225 ile toplattım) hem şifrelemede hem de deşifrelemede sorun çıkar diye düşünüyorum?
Bunu nasıl aşarız?

Teşekkürler,

   scorpio3713, 05.10.2011 13:08
   Algoritmayı yazmak sana kalmış ben sadece toplama örneğini verdim mesela o oluşan sayıları text dosyası olarak sakla sonra text dosyasından al o sayıları 225 çıkar cıkanları byte olarak yaz yada toplama sonucu oluşan sayıları rakam rakam byte olarak yaz sonra çözde okut

   spectre67, 10.10.2011 22:11
   Hmmm... Sağol... dediğin gibi... Kullanmak isteyene... Farklı bir bakış açısı... Çok teşekkürler.

   scorpio3713, 12.10.2011 20:08
   kodları ekledim ama çalışmıyor


   mtaser38, 03.11.2011 17:44
   Teşşekurler sonunda mantıgını anladım , çok yardımcı oldu :D

   metokam, 23.06.2012 02:08
© Hakan Ersöz 2000-2013| Üyelik Sözleşmesi | | Ödeme Bildirimi
Sitemizden yenilikleri hemen öğrenin, pop upları engelleyin, chat yapın... ToolBarımızı indirin:
Vasicmaster Toolbar'ı indirin