Asp.Net Url Şifrelemek

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    calpazhan
    calpazhan's avatar
    Kayıt Tarihi: 05/Kasım/2009
    Erkek

    Merhaba hocalar,

    Asp.net de querystring ile veri gönderirken url kısmında verilerin id numaraları gözükür ya ben onalrı şifrelemek ya da gizlemek istiyorum. Daha basit anlatmak gerikirse;

    Bu resimlerdeki gibi id numaralarını şifrelemek istiyorum. 

    Google amcadan aradıp bir iki şey buldum ama tam anlamadım. Bu konu hakkında bilgisi olur yardım ederse çok sevinirim. 

    Şimdiden teşekkürler...


    Hayatım Beni Bile Güldüren Bir Oyuncak...
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    trampfd
    trampfd's avatar
    Kayıt Tarihi: 10/Mayıs/2006
    Erkek

    ID datasını DB de "Uniqueidentifier" olarak tut.


    Ehl-i Byte
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    TeRRoR
    TeRRoR's avatar
    Kayıt Tarihi: 06/Nisan/2007
    Erkek

    oluşturduğun querystring'i AES ile şifrele. Arından querystring okuyayacağın zamanda şifrelerken kullandığın key ile decrypte ederek query stringi rahatça okuyabilirsin.


    herkes programcı olmak zorunda değildir, lütfen bir zorunluluk gibi programlama dilleri öğrenmeye çalışmayın. yabancı dil filan öğrenin amq.// s.kimin etini yerim, kasaba minnet etmem.// ince düşünene kalın girer.//
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    efecan123
    efecan123's avatar
    Kayıt Tarihi: 20/Ağustos/2010
    Erkek

    md5 ile şifreleyebilirsin ya


    Benim evim valizimdir. http://efecetir.info
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    NuLL29
    NuLL29's avatar
    Kayıt Tarihi: 09/Temmuz/2007
    Erkek

    Server.Transfer("UrlAdresi");

    :)


    .::::Tesadüfen Doğdum Mecburen Yaşıyorum Zorudan Ölücem:::...
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    TeRRoR
    TeRRoR's avatar
    Kayıt Tarihi: 06/Nisan/2007
    Erkek
    efecan123 bunu yazdı

    md5 ile şifreleyebilirsin ya

    geri dönüşümsüz olduğu için işe yaramaz.


    herkes programcı olmak zorunda değildir, lütfen bir zorunluluk gibi programlama dilleri öğrenmeye çalışmayın. yabancı dil filan öğrenin amq.// s.kimin etini yerim, kasaba minnet etmem.// ince düşünene kalın girer.//
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SinusX
    SinusX's avatar
    Kayıt Tarihi: 14/Aralık/2010
    Erkek

    Routeconfig


    Si vis pacem para bellum.
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    KodlayanAdam
    KodlayanAdam's avatar
    Kayıt Tarihi: 01/Ekim/2005
    Erkek

    ben intranette guvenlik onlemi olarak yapmistim bunu,

    yalniz soyle bir durum var her session da cikan sonuc farkli oldugu icin public webde kullanmak icin uygun degil. 

    anahtar olarak kullaniciya ozel birsey kullanmistim sanirim oraya sabit bir anahtar koyarsan bahsettigim sorun cozulur. eve gidince atarim. 


    Hiç savaş görmemiş çocuklarla, hiç barış görüşmemiş çocuklar için adalet farklı anlamlar taşır.
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    calpazhan
    calpazhan's avatar
    Kayıt Tarihi: 05/Kasım/2009
    Erkek
    efecan123 bunu yazdı

    md5 ile şifreleyebilirsin ya

    http://www.cyber-warrior.org/Forum/aspnet-url-sifrelemecode-hunters-2_486454,0.cwx

    su linkte anlatılanları yaptım ama adam sadece <a href> ile listemiş veritabanı ben blogumu yaptıüım için datalist içinde çok fazla veri var. Hyperlink ile yönlendiriyorum blog detay sayfasına. Bu anlatılanları nasıl hyperlinke aktarcaz onu bulamadım. 

    Datalistin findcontrol olayı ile hyperliniki yakalıyorum ama sora querystring veremiyorum. Yane yine cıkmaz sokağa girdim.


    Hayatım Beni Bile Güldüren Bir Oyuncak...
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    KodlayanAdam
    KodlayanAdam's avatar
    Kayıt Tarihi: 01/Ekim/2005
    Erkek

    şu şifreleme için kullanacağın class

    public static class StringHelper
        {
            public static string Sifrele(this string strQueryStringParameter)
            {
    
                MD5CryptoServiceProvider hash_func = new MD5CryptoServiceProvider();
    
                byte[] key = hash_func.ComputeHash(Encoding.ASCII.GetBytes("Anahtar1"));
    
                byte[] IV = new byte[8];
    
                SHA1CryptoServiceProvider sha_func = new SHA1CryptoServiceProvider();
    
                byte[] temp = sha_func.ComputeHash(Encoding.ASCII.GetBytes("Anahtar2"));
    
                for (int i = 0; i < 8; i++)
    
                    IV[i] = temp[i];
    
                byte[] toenc = System.Text.Encoding.UTF8.GetBytes(strQueryStringParameter);
                TripleDESCryptoServiceProvider des = new TripleDESCryptoServiceProvider();
    
                des.KeySize = 192;
                MemoryStream ms = new MemoryStream();
    
                CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(key, IV), CryptoStreamMode.Write);
    
                cs.Write(toenc, 0, toenc.Length);
    
                cs.FlushFinalBlock();
    
                return Convert.ToBase64String(Encoding.UTF8.GetBytes(Convert.ToBase64String(ms.ToArray())));
    
            }
            public static string SifreCoz(this string strQueryStringParameter)
            {
    
                MD5CryptoServiceProvider hash_func = new MD5CryptoServiceProvider();
    
                byte[] key = hash_func.ComputeHash(Encoding.ASCII.GetBytes("Anahtar1"));
    
                byte[] IV = new byte[8];
    
                SHA1CryptoServiceProvider sha_func = new SHA1CryptoServiceProvider();
    
                byte[] temp = sha_func.ComputeHash(Encoding.ASCII.GetBytes("Anahtar2"));
    
                for (int i = 0; i < 8; i++)
    
                    IV[i] = temp[i];
    
                byte[] todec = Convert.FromBase64String(Encoding.UTF8.GetString(Convert.FromBase64String(strQueryStringParameter)));
    
                TripleDESCryptoServiceProvider des = new TripleDESCryptoServiceProvider();
    
                des.KeySize = 192;
    
                MemoryStream ms = new MemoryStream();
    
                CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(key, IV), CryptoStreamMode.Write);
    
                cs.Write(todec, 0, todec.Length);
    
                cs.FlushFinalBlock();
    
                return System.Text.Encoding.UTF8.GetString(ms.ToArray());
    
            }
        }

    bir stringi sifrelemek için örneğin:

    string a = "veri";

    a.Sifrele() fonksiyonu sifrelenmiş veriyi, a.SifreCoz() fonksiyonu da çözülmüş halini getirir.

    linkleri repeaterla filan dolduruyorsan eğer kullanıdığın collection veya dataset içindeki veriyi foreach ile şifreleyip öyle basarsan istediğini yaparsın sanırım.

    ekleme: Anahtar yazan yerlere şifreleme ve çözmede kullanağın keyi yazacaksın.

    anahtar olarak SessionID kullanırsan oluşturulan şifreler o oturum için özel olur ve link kopyalansa dahi başka bir bilgisayarda çalışmaz. Hatta aynı bilgisayardaki farklı tarayıcılarda da aynı durum.

    edit: user identityler kalmış, kodu düzenledim.

    KodlayanAdam tarafından 01/Şub/13 21:59 tarihinde düzenlenmiştir

    Hiç savaş görmemiş çocuklarla, hiç barış görüşmemiş çocuklar için adalet farklı anlamlar taşır.
  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    calpazhan
    calpazhan's avatar
    Kayıt Tarihi: 05/Kasım/2009
    Erkek

    Saolasın hocam hallettim blog detay sayfasına yönlendiriken hata veriyor ama onu düzeltebilirim sanırsam. Çok teşekkürler.


    Hayatım Beni Bile Güldüren Bir Oyuncak...
Toplam Hit: 2582 Toplam Mesaj: 11