Haberler:

Eposta uyarılarını yanıtlamayınız ( ! ) https://bit.ly/2J7yi0d

Ana Menü

c# database

Başlatan justice_for_all, 26 Haziran 2012, 09:28:24

justice_for_all

Merhaba arkadaşlar c# ile ilgili bir projem var.kısaca anlatayım kullanıcı formu açabilmek için parola girmek zorunda ilk başta parolayı kendim belirleyebiliyorum bunda problem yok ama kullanıcı parolayı değiştireceği zaman eski parolanın yerine yenisi kayıtlı olmak zorunda.bunu illa veri tabanı ile mi yapmak zorundayım ? başka yapabileceğim bir yol varmı?
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

ULAGA

Formu açabilmek derken neyi kastediyorsun?
Uygulamanın formunu mu yoksa veritabanı kaydını mı?

justice_for_all

evet uygulama formundan bahsediyorum.daha veri tabanına girmedim yani.amacım şifre ğeğişince değişen şifreyi biyerlere kaydedebilmek tekrar acılınca son şifreyi hatırlamak için.
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

ArGeMaNiA

İlk kaydederken nereye kaydediyorsunuz?
Haydi göreyim sizi, vazife-i ubudiyetinizi unutmamak şartıyla öyle çalışınız ki,  rûy-i zemini, her tarafı herbirinize görülen ve her köşesindeki sesleri size işittiren bir bahçeye çeviriniz.

justice_for_all

suan için kayıt edecek bişey bulamadım tanımlarken içine sabit bir değer atıyorum denemek için .ama kullanıcı şifreyi değiştirmeye kalkarsa öyle olmuyor bunun için kayıt edecek bir şeye ihtiyacım var.bunun için veri tabanı haricinde birşey kullanabilirmiyim.
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

ArGeMaNiA

Xml ya da .ini dosyası ya da herhangi bir dosya kullanabilirsin ama şifrelemen gerekecek.
Neden veritabanına kaydetmiyorsunuz ki?
Haydi göreyim sizi, vazife-i ubudiyetinizi unutmamak şartıyla öyle çalışınız ki,  rûy-i zemini, her tarafı herbirinize görülen ve her köşesindeki sesleri size işittiren bir bahçeye çeviriniz.

justice_for_all

#6
onunla iligili fazla bişey bilmiyorum oyuzden daha kolay bişe varsa onu yapayım dedim veri tabanı en iyisi gibi gorunuyor o zaman sağol.peki veritabına kaydettiğim zaman yine şifrelemeye gerek varmı ?
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

ArGeMaNiA

#7
Şifrenize erişebilmeleri için, veritabanınıza erişebiliyor olmaları gerekir.
Veritabanınıza erişebildikleri halde, programınızı açmamalarını istiyorsanız
şifrelemelisiniz elbette.

Not:Hatta başkalarının kullanıcı adlarını ve şifrelerini tutuyorsanız(web uygulamaları gibi) kesinlikle şifrelemelisiniz.
Haydi göreyim sizi, vazife-i ubudiyetinizi unutmamak şartıyla öyle çalışınız ki,  rûy-i zemini, her tarafı herbirinize görülen ve her köşesindeki sesleri size işittiren bir bahçeye çeviriniz.

ULAGA

XML ve ini dosyaları veri depolamak için hızlı bir seçenek.
Ancak güvenlik verisi depolamak için çok riskli bir seçenek.
Farzedelimki kullanıcı şifresini hashleyerek XML ya da ini dosyasına kaydetti.
Sonuçta hashlenmiş de olsa o bilgiye ulaşmak isteyen ulaşabilecek.
Ve ulaştığı o bilgiyi sildiğinde sistem ya hata verecek, ya da ilk kullanım sanıp yeni bir şifre tanımlama isteyecek.
O yüzden güvenlik verilerinin, gömülü de olsa veritabanı dosyalarına kaydedilmesi, kesinlikle yapılması gerekilen bir iştir...

leblebitozu

Registry'ye yazabilirsin

rree

Rasgele erişimli dosya yöntemini kullan . Veri tabanı programına ihtiyaç kalmadan kullanılabilir.

Declarition kısmına..........................

Structure DosyaDegisStruc
        Public BaslSaat As Byte
        <VBFixedString(10)> Public Kulaniciadi As String
        <VBFixedString(10)> Public KullaniciSifre As String
    End Structure
    Dim DosyaDeg As DosyaDegisStruc

Form load kısmına..............................
FileOpen(1, "Ayarlar.dat", OpenMode.Random, , , StuctUzunlugu)

Buton  click olayına ......... Dosyaya yazdırma
    FilePut(1, DosyaDeg, 1)

Buton Click olayına ............Dosyadan Okuma
FileGet(1, DosyaDeg, 1)

Bu komutlar Vb.net  C#  komutlarıda buna benzerdir.

justice_for_all

peki ayarlar.dat dosyasının içini açarak şifreyi öğrenebilirmi herhangi birisi ?
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

rree

Şifre algoritması kullanmazsan herkes öğrenebilir. Dosyayı erişebilir engelleme veya saklamak yeterli değildir.Dosyayı erişen erişsin. Bir oyun vardı seviyelere save yapıyorsun. Oyuncuya göre altın veriyor.Save yaptığı dosyayı hex edit ile açtım oradaki değerleri değiştirip altın değerini yükseltecektim. Save datası 1 kaç by olmalıydı çünkü silah ve altın değerleri vardı sadece.Dosyayı açtım 1kbyte  değeride data. Her save de datalar değişiyor altın değerini nereye bırakmıştı merak ettim. Oyunda değerler değişmeden  iki defa save ettim . Save dosyalarını karşılaştırdım. İki üç adresde datalar değişmiyor diğerleri rasgele data atanıyor.Bu bir örnek.Kısaca senin bildiğin bir şekilde şifreyi kotlayıp kaydetmen gerekir.Başka bir teknik tabiki bunlar basit yöntem.Şifremiz 1234  olsun. Birinci rakamı 10 ile çarp 2. rakımı 5 ekle 3 . rakımı 2 ile çarp 4. rakamı 1 ekle.
Sifre =(1*10)+(2+5)+(3*2)+(4+1) ise 40+7+6+5  Şifrealgoritması=58 olur.Esas şifre kaydetmemelisin.

RcALTIN

c# içinde MD5, Rijndael Managed v.s hazır kriptolama algoritmaları mevcut, MD5 bu parola kriptolama işlerinde oldukça yaygın kullanılır ve zaten sırf bu iş için geliştirilmiş bir algoritmadır, girilen verinin uzunluğu farketmeksizin 128bitlik neredeyse benzersiz bir veri üretir, çıkan veriden geriye dönüşüm kesinlikle yoktur. Kişilerin parolalarını kaydederken bu algoritmadan geçirip sonucu saklarsanız, aynı parolalar aynı sonucu üreteceğinden giriş yapmak için her girilen parolanın da md5 halini bu sonuç ile karşılaştıracaksınız demektir. Şimdilik işinize yaramaz belki ama Rijndael Managed ise esas veri kriptolama ve tekrar çözme işleri için kullanılabilir, bir veriyi bazı parametrelerle kriptolarsınız ve aynı parametrelerle de tekrar ilk haline çevirebilirsiniz.
KİMSEYİ ENGELLEDİĞİM YOK, ÖZEL İLETİ DEVRE DIŞI !

muhittin_kaplan

Veritabanı,
Yukardakilerin hepsinde Ulaşırım. SQL server kullanmanı tavsye ederim işin acil değilse.