C# ReadOnly Ve Const Elemanları

Posted in Uncategorized etiketler ile , , , , on Ağustos 7, 2009 by ammoti

Ado Giriş

Posted in Uncategorized etiketler ile , , , , , , , , , on Mayıs 12, 2009 by ammoti

Posted in Yazılım etiketler ile , , , , , , on Nisan 28, 2009 by ammoti

Selamun Aleykum;

Bugun nette gezinirken farklı bişey buldum(en azından benim için)microsoft’un Konuşma kütüphanesi, paylaşalım dedim,,belki Proje ikaz mahiyetinde bişey katmak baabından güzel olur…Neyse az laf çok icraat…Form a 1 adet multiline enabled olmuş Textbox birde buton koyalım…

Ve Resimdeki Library kütüphanemize ekliyelim…

 

ve Kodlamaya geçelim zaten fazla kod yazmıycaz…Once button’umuzun Click event ına gelelim..ondan da once SpeechLib adli namespace imizi ekliyelim…

artık event tayız….

    private void button1_Click(object sender, EventArgs e)
        {//Once bir Instance oluşturduk...
            SpVoice voice = new SpVoice();

//konuşma kütüphanesine textBox taki değeri konuşmasını söyledik…
            voice.Speak(textBox1.Text, SpeechVoiceSpeakFlags.SVSFlagsAsync);
       }

tadından yenmez bir konuşturucu… dayayın dinliyeceğiniz bir makaleyi[ingilizce olursa iyi olur :D]siz kafayı koyun o okusun….
vesselam

Kriptofik

Posted in Uncategorized etiketler ile , , , , , , , on Nisan 5, 2009 by ammoti

Selamun Aleykum;

Kardeşlerim bu aralar biraz fazla yoğunuz haklarınızı helal ediniz :D
Son bombam Kriptofik  son derece basit bir algoritma ile yazılan bu şifreleme aracı.Kripto ile ilgilenen geliştiriciler için belki başlangıç olur düşüncesindeyim…

Hade hayırlısı

Kaynak KodlarınaBuradanUlaşın…

VeriTabanına Binary Olarak Resim Ekleme

Posted in Uncategorized etiketler ile , , , , , , , on Mart 21, 2009 by ammoti

Selamun Aleykum dostlar;
Bu  yazıda inşAllah bir Foto veya  Resmi Binary(İkili  Sayi)olarak  VeriTabanına kaydetmeyi göstericem.VeriTabanı  olarak  MSSQL kullanıcam..

Şekilde gibi atmasyon bir  veritabanı  ve KolonAd   ve Veritipleri oluşturalım(Aslında Ad,Soyad,Resim de olsa olur  bu DB eskilerden buldum.)

Şimdi WinForm tarafına  geçip Seçtiğmiz bir resmi Binary olarak DB mize kayıt edelim..
Fotomuzu Binary olarak kaydetmek için “IO”  isim uzayının MemoryStream nesnesinden yararlancam…

Evet   bu olay da bitti şimdi PictureBox ımıza bir Resim koyup(OpenFileDialog la halledebilirisniz)VeriTabanımıza kayıt edelim…

Ve Sonuç…

Resim kolonumuza Binary Data olarak Kayıtetti.

Ufak ama Ado ya giriş için iyi bir makale düşüncesindeyim eksiklerim illaki vardır..Affınıza sığınırım…

Vesselam

 

C# Videolar’ı(for Beginner :))

Posted in Uncategorized etiketler ile , , , , on Şubat 27, 2009 by ammoti

Selamun Aleykum Canlar

Sizler için en azından bu işe yenni başlayanlar için süper videolar buldum daha çok C# ağırlıklı anlatımlar yapılıyor.Bende çektiğim bir kaç video ‘yu burada yayınlıycam yakında kısmetse …

Not:Görüntü Kalitesi biraz düşük olabilir….

http://vimeo.com/user771165

C# Team

Posted in Uncategorized etiketler ile , , , , , , , on Şubat 21, 2009 by ammoti

Üst Sıra:Zhe Fu, Luca Bolognese, Theo Yaung, Rusty Miller, Eric Lippert, Wes Dyer, Prakash Balasubramanian, Genevieve Orchard, Esen Tuna, Keith Farmer, Tom Meschter, Don Espen, Steve Kruy, Yuval Mazor, Daigo Hamura, Vijay Upadya.

3.Sıra:Matt Cavallari, Scott Nonnenberg, Cyrus Najmabadi, Jeremy Meng, Luke Hoban, Eric Maino, Seshadri Pillailokam Vijayaraghavan, Alexandru Ghiondea, Mary Deyo, Mathew Charles, Sreekar Choudhary, Matteo Taveggia, Gabriel Esparza-Romero, Frances Lam, David Sterling, Xun Sun, Tiki Wan, HeeJae Chang,

2.Sıra:Jason Cooke, Terry Adams, Charlie Calvert, Mads Torgersen, Jerry Higgins, Sam Ng, DJ Park, Matt Warren, Daniel Rathbone, Chris Burrows, Jomo Fisher, Alex Turner, Renaud Paquay, Marcelo Guerra Hahn, Damon Tivel, Mike Hopcroft.

Alt Sıra:Ying Peng, Karen Liu, Anson Horton, Douglas Yung, Suma Sushilendra, Faisal Baqai, Dinesh Kulkarni, Deepti, Kathy Lu, Baoping Zhang, Raj Pai, Stephanie Dishneau, Drew Fletcher

Ve En Önde:Anders Hejlsberg

CETURK Microsoft Teknolojileri Etkinliği

Posted in Uncategorized etiketler ile , , , , on Ocak 29, 2009 by ammoti

CETURK Microsoft Teknolojileri Etkinliği

CETURK Microsoft Teknolojileri Etkinliği

Bugüne kadar çok farklı konu ve teknolojiler ilgili yaptığı ücretsiz etkinliklerle bilişim sektörünün gelişmesine katkıda bulunan CETURK yine büyük bir organizasyon ile karşınızda.

7 Şubat Cumartesi günü Microsoft Türkiye İstanbul Ofisi‘nde gerçekleştirilecek CETURK Microsoft Teknolojileri Etkinliği inde

XNA Game Studio ile Oyun Programlamaya Giriş,

Asp.Net Mvc,

Ado.Net 3.5 / Ado.Net Entity Framework ve Asp.net ile Facebook Uygulama Geliştirme seminerleri yapılacaktır.

Etkinliğimize katılım her zamanki gibi ücretsiz olacaktır.

Kayıt için : http://www.ceturk.com/etkinlikkayit.asp?id=63

Saat Konu Konuşmacı
10.20 – 10.30 CETURK Mehmet Aca
10.30 – 11.50 XNA Game Studio ile Oyun Programlamaya Giriş Mehmet Aydın ünlü
11.50 – 12.00 Ara —-
12.00 – 13.20 Asp.Net MVC Ersan Bilik
13.20 – 14.00 Ara —-
14.00 – 15.20 Ado.Net 3.5 / Ado.Net Entity Framework Ahmet Kaymaz
15.20 – 15.30 Ara
15.30 – 16.50 Asp.net ile Facebook Uygulama Geliştirme Aykut Taşdelen
16.50 – 17.00 Kitap Çekilişi —-

 

Miguel de Icaza nın PDC sunumu

Posted in Uncategorized etiketler ile , , , , on Ocak 24, 2009 by ammoti

Selamun Aleykum
O gün PDC sunumlarına bakarken Mono Foundation’ı olan Miguel de Icaza nın da Mono yu anlattığı Sunum ‘u buldum..Adam gerçekten Mono nedir ne değildir çalışma mantığı CLR olan uyumunu v.s. v.s. güzel anlatıyor….
Video için:http://channel9.msdn.com/pdc2008/PC54/

yukarıdaki adreste bulabilirsiniz….
iyi Günler

.NET ‘te Şifreleme Sınıflarını Kullanmak

Posted in Uncategorized etiketler ile , , , , , , on Ocak 21, 2009 by ammoti

.NET platformu, kriptografik işlemler için kullanılabilecek zengin sınıflar içerir. .NET Platformunda kriptografik sınıfların çoğu, Windows Cryptographic Service Providers (Windows kriptografik servis sağlayıcılar) için yönetilen bir pakettir.

Hash Algoritmalarını Kullanmak :

Bir hash algoritması, uzunluğu belli olmayan bir dizenin içeriğini benzersiz şekilde şifreleyerek bir değer üretir.Hash değerleri bir dosya içindeki değişiklikleri tespit etmek için kullanışlıdır. Dosyanın durumunun herhangi bir anda fotoğrafını çekme imkanı sunar. Bu Sayede bir önceki hash değerleri ile dosyanın o andaki hash değerlerini karşılaştırarak dosyada değişiklik yapılmışmı yapılmamışmı öğrenebilirsiniz.

.NET platformu içindeki sınıflar, aşağıdaki hash algoritmalarını kullanmaktadır.

  • MD5 – 128-bit hash değeri üretmektedir. MD5CryptoServiceProvider sınıfı tarafından uygulanmaktadır.
  • SAH1 – 160-bit hash değeri üretmektedir. SHA1CryptoServiceProvider ve SHA1Managed sınıfları tarafından uygulanmaktadır.
  • SHA256 – 256-bit hash değeri üretmektedir. SHA256CryptoServiceProvider ve SHA256Managed sınıfları tarafından uygulanmaktadır.
  • SHA384 – 384-bit hash değeri üretmektedir. SHA384CryptoServiceProvider ve SHA384Managed sınıfları tarafından uygulanmaktadır.
  • SHA512 – 512-bit hash değeri üretmektedir. SHA512CryptoServiceProvider ve SHA512Managed sınıfları tarafından uygulanmaktadır.

Not : MD5 en hızlı fakat en az güvenli algoritmadır. Her SHA algoritması daha güvenlidir ama daha falza hesaplama gerektirmektedir.

Örnek:

static byte[] ByteDonustur(string deger)
{
char[] arrayChar = deger.ToCharArray();
byte[] arrayByte = new byte[arrayChar.Length];

for (int i = 0; i < arrayByte.Length – 1; i++)
{
arrayByte[i] = Convert.ToByte(arrayChar[i]);
}

return arrayByte;
}

static void Main(string[] args)
{
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
byte[] deger = ByteDonustur(“ABCDEFG”);
byte[] sonuc = md5.ComputeHash(deger);

Console.WriteLine(BitConverter.ToString(sonuc));
Console.ReadLine();
}

İşleminden çıkan sonucun değeri.

Burada dikkat edilmesi gereken hususlara gelecek olursak ComputeHash() Metoduna bir dizeyi doğrudan geçiremezsiniz. ByteDonustur() Metodu kullanılarak dize ComputeHash() verilmeden önce byte dizisine dönüştürülmektedir.ComputeHash() metodu tarafından geri döndürülen byte dizisi BitConverter sınıfı ile dizeye geri dönüştürülmektedir.

SİMETRİK ŞİFRELEME ALGORİTMALARI

Bir veriyi simetrik bir veri algoritması ile şifrelediğinizde gönderici ve alıcının aynı şifre çözücü anahtara sahip olmak zorundadır.

.NET platformundaki sınıflar aşağıdaki simetrik algoritmaları desteklemektedir.

  • DES – Birleşik Devletler Veri Şifreleme Standartı (Data Encryption Standart) : Bu algoritma DESCryptoServiceProvider sınıfı tarafından uygulanmaktadır.
  • Triple DES – DES algoritması sıralı şekilde üç farklı şifreleme anahtarı ile uygulanır. Bu algoritma TripleDESCryptoServiceProvider sınıfı tarafından uygulanmaktadır.
  • RC2 – RC2 Blok Şifresi (Block Cipher). Bu algoritma RC2CryptoServiceProvider sınıfı tarafından uygulanmaktadır.
  • Rijndael – İleri Düzey Şifreleme Standartı tarafından kullanılan algoritmadır. Bu algoritma RijndaelManaged sınıfı tarafından uygulanmaktadır.

Örnek : SimetrikWrite.cs

class SimetrikWrite
{
const string desKey = “12345678″;
const string desIv = “ABCDEFGH”;

static byte[] ByteDonustur(string deger)
{
char[] arrayChar = deger.ToCharArray();
byte[] arrayByte = new byte[arrayChar.Length];

for (int i = 0; i < arrayByte.Length; i++)
{
arrayByte[i] = Convert.ToByte(arrayChar[i]);
}

return arrayByte;
}

static void Main(string[] args)
{
byte[] arrayDESKey = ByteDonustur(desKey);
byte[] arrayDESIV = ByteDonustur(desIv);
byte[] arrayInput = ByteDonustur(“Merhaba Dünya”);

DESCryptoServiceProvider des = new DESCryptoServiceProvider();

//Formun en üstünde desKey ve desIv isimli iki tane sabit var. DESCryptoServiceProvider sınıfı ile veriyi şifrelediğinizde hem gizli bir anahtar hem de bir ilk değer vektörü sağlamalısınız çünkü yarattığınız dosyadaki şifreyi çözmek istediğinizde ihtiyaç duyacaksınız. Bu dizilere istediğiniz 8 karakter dizesini atayabilirsiniz.
ICryptoTransform cEncryptor = des.CreateEncryptor(arrayDESKey, arrayDESIV);
CryptoStream cStream = new CryptoStream(new FileStream(“c:\\simetrik.text”, FileMode.Create, FileAccess.Write),cEncryptor, CryptoStreamMode.Write);
cStream.Write(arrayInput,0,arrayInput.Length);
cStream.Close();
Console.ReadLine();
}
}

Örnek : SimetrikRead.cs

class SimetrikRead
{
//Bu sabitlerin değeri SimetrikWriter Dosyasındaki desKey ve desIv sabitleri ile uyuşmalıdır.
const string desKey = “12345678″;
const string desIv = “ABCDEFGH”;

static byte[] ByteDonustur(string deger)
{
char[] arrayChar = deger.ToCharArray();
byte[] arrayByte = new byte[arrayChar.Length];

for (int i = 0; i < arrayByte.Length; i++)
{
arrayByte[i] = Convert.ToByte(arrayChar[i]);
}

return arrayByte;
}

static void Main(string[] args)
{
byte[] arrayDesKey = ByteDonustur(desKey);
byte[] arrayDesIv = ByteDonustur(desIv);

DESCryptoServiceProvider des = new DESCryptoServiceProvider();
ICryptoTransform cDecryptor = des.CreateDecryptor(arrayDesKey,arrayDesIv);
CryptoStream cStream = new CryptoStream(new FileStream(“C:\\simetrik.text”, FileMode.Open),cDecryptor, CryptoStreamMode.Read);
Console.WriteLine(new StreamReader(cStream).ReadToEnd());
Console.ReadLine();
}
}

ASİMETRİK ŞİFRELEME KULLANMAK

Simetrik şifreleme algoritması kullandığımız zaman, uygulamayı kullananların aynı ortak şifre çözücü anahtara sahip olmaları gerekir. Asimetrik şifreleme algoritması kullandığınız zaman veriyi şifrelemek ve çözmek için kullanılan anahtar farklıdır. Asimetrik şifreleme algoritmaları bir anahtar çifti kullanır. Eğer veriyi bir anahtar ile şifrelediyseniz çözmek için diğer anahtarı kullanırsınız.

.NET platformundaki sınıflar aşağıdaki asimetrik algoritmaları desteklemektedir.

  • DSA – Dijital İmza Algoritması(Digital Signature Algorithm – Birleşik Devletler Hükümetinin Dijital Doğrulama Standartı). DSACryptoServiceProvider sınıfı tarafından uygulanmaktadır.
  • RSA – Bu Algoritma, RSACryptoServiceProvider sınfı tarafından uygulanmaktadır.

Her iki metodta AsymmetricAlgorithm sınıfında uygulanmaktadır. Bu yüzden aynı metod ve özelliklerin bir çoğunu paylaşmaktadırlar. Sınıflardan herhangi birisini yaratırsanız, genel ve özel anahtarları otomatik olarak üretilir.Genel veya özel anahtara ToXmlString ya da ExportParameters metotları ile erişebilirsiniz. ToXmlString metodu, genel ve özel anahtarları XML dizesinde tutar.

Aşağıdaki örnekte DSACryptoServiceProvider sınıfını yaratıp özel ve genel anahtarlarını görüntülemektedir.

DSACryptoServiceProvider dsa = new DSACryptoServiceProvider();

Console.Write(“Özel Anahtarlar : “);
//Özel Anahtarı Görüntülemek İçin true
Console.WriteLine(dsa.ToXmlString(true));

Console.Write(“Genel Anahtarlar : “);
//Genel Anahtarı Görüntülemek İçin false
Console.WriteLine(dsa.ToXmlString(false));

İşlemin sonucunda aşağıdakine benzer bir çıktı üretecektir.

örn : AsimetrikWrite.cs

class AsimetrikWrite
{
static void Main(string[] args)
{
byte[] dizi = {1,2,3,4,5,6,7};

RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
byte[] sonucEncrypt = rsa.Encrypt(dizi,false);

for(int i = 0; i < sonucEncrypt.Length; i++)
Console.Write(sonucEncrypt[i] + ” “);
}
}

Çıktı Sonucu Aşağıdaki Gibi Olmalıdır.

class AsimetrikRead
{
static void Main(string[] args)
{
byte[] dizi = {1,2,3,4,5,6,7};

RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
byte[] sonucEncrypt = rsa.Encrypt(dizi,false);

for(int i = 0; i < sonucEncrypt.Length; i++)
Console.Write(sonucEncrypt[i] + ” “);

Console.WriteLine(“\n\n”);

byte[] sonucDecrypt = rsa.Decrypt(sonucEncrypt,false);

for(int i = 0; i < sonucDecrypt.Length; i++)
Console.Write(sonucDecrypt[i] + ” “);

Console.ReadLine();
}
}

Decrypt İşleminin Sonucu Aşağıdaki Gibi Olmalıdır.

Tuğrul Uğurlu