18 Kasım 2010 Perşembe

MSSQL de Stored Procedure Kullanarak Dinamik İsimli Tablolar Oluşturmak

MSSQL stored prosedure içinde "CREATE TABLE @TableName" şeklinde değişken isimli olarak tablo oluşturmaya izin vermemektedir. Fakat biz bu işlemi biraz kurnazlık yaparak gerçekleştirebiliriz. Dinamik isimli tablo oluşturmak için önce tablonun oluşturulmasını gerçekleştirecek kodları string halinde yazarız ve tablo ismi kısmını da stringe değişken olarak ekleriz. Daha sonra EXEC() komutu ile bu stringi çagırıp tablonun oluşmasını sağlayabiliriz. Örnek olarak alttaki kodu inceleyebilirsiniz.

CREATE PROCEDURE dbo.createTable
(
    @TableName varchar(10)
)
AS
    DECLARE @SQL varchar(2000)
   
    SET @SQL ='
        create table ' + @TableName + '
        (
            id int,
            name varchar(10)
        )
    '
EXEC(@SQL)

25 Temmuz 2010 Pazar

Steganography

Kısaca bilgi saklama sanatı olarak tanımlanan steganografide amaç gizli bir mesajı bilinen başka bir mesaj içinde saklayarak ilgili yere ulaştırmaktır. Bir başka deyişle steganografi veri içine veri gömerek gömülen verinin varlığını saklar. Gizli verinin gömülmesi için metin, ses, resim veya video gibi bir örtü verisi (cover data) kullanılır. Gizli verinin varlığını saklamak için gömme işlemi sonucunda örtü verisinin en az bozulmaya uğraması hedeflenir.

Steganografinin kriptografiden (şifreleme) en önemli farkı steganografide saklı mesajın varlığının gizlenmesidir. Kriptografide amaç verinin içeriğini saklamaktır.  Gizli bir veri gönderildiği herkes tarafından bilinir fakat verinin içeriğini açmak için gerekli olan şifreye sahip olmayan kişiler göremez tabi şifreler kırılmadığı sürece ki buda çok zahmet ve zaman isteyen bir iştir. Steganografinin amacı ise verinin var olduğunu saklamaktır. Veri şifrelenmeden örtü verisinin (resim, ses, video, metin) içine gömülür ve onların içinde gizli bir veri olduğu 3. şahıslar tarafından kolay kolay anlaşılamaz.  Eğer birbirleri ile gizli olarak haberleşen iki kişiyi gözletleyen üçüncü bir kişi haberleşmenin gizliliğini farkedecek olursa steganografi esas amacına ulaşamamış olacaktır.


Steganografi Ekleme Algoritması
Steganografi Çıkarma Algoritması


Wikipedia'dan  aldığım bir örneğin üzerinden metin dosyalarının içine nasıl veri gizlenir ona babakalım.

"Benim için futbolda önemli olan centilmenlik
  ve dostluktur. Hedefim illa ki kazanmak
  falan değildir. Ben sadece kendi reklamını düşünen
  kişiliğe sahip olsam başka olurdu. Ben net
  birisiyim arkadaş. Takımım kazanırsa mal-
  zemecisine kadar mutlu oluruz. Ben de sporcu
  varlığımı geliştiririm. Hakemlere baskı uygulamak
  sportmenliğe yakışmaz. Fair-play için mücadele
  gerekirse onu da yaparım. Medyayı da bağ-
  rıma basmışım, spor uğruna gülmüşüm ve ağ-
  lamışım, kafam rahat!"

Yukardaki metini önce normal sonrada satır atlayarak okuyalım.  Satır atlayarak okuduğunuzda aslında tam metinle tamamen zıt şeyler anlattığını görürüz.  Bu ve bunun gibi kendi belirleyeceğiniz yöntemlerle metinlerin içine gizli veriler yerleştirebiliriz. Mesela metinin sadece baş harflerini kullanarak bir veri gizlenebilir.

Metin dosyalarına benzer olarak resim ses video dosyalarınada veriler gizlenebilir. Örneğin bir resim dosındaki her bir pixelin son bitini değiştirerek veri gizleyebiliriz. Son bitlerdeki değişme resimde gözle görünür bir etki yapmayacağı için resimin içinde veri olduğunu bilmeyen birinin onu farketmesi neredeyse imkansızdır.

Günümüzde internet kullanımının oldukça yaygın olması gizli haberleşmenin bu gibi yöntemlerle kolayca yapılmasını sağlamaktadır. Özellikle terör örgütleri bu yöntemleri kullanarak kendi aralarında rahatça haberleşebilmektedir.

15 Temmuz 2010 Perşembe

work work work

   Blog sayfası açtım ama bu aralar yazmak için çok fazla fırsatım olmuyor. Yazı evde yatarak geçirmemek için bir iş ayarladım 15:30-23:30 arası çalışıyorum. Pendik Belediyesi'nin imar dosyalarını  tarayıp diğital ortama geçirmekle uğraşıyoruz. Bir belgenin eskidiğinde ne kadar baş belası olabileceğini öğrendim orda :). Bundan sonra düzenli olarak yazmaya çalışacağım ..

30 Haziran 2010 Çarşamba

Windows ve Ubuntu yüklü PC den Ubuntu ve Grup'u kaldırma

Dönem başında operating systems dersi için bilgisayarımda bulunan Windows 7'nin yanına birde Ubuntu kurmuştum. Dönem bittikten sonra harddiskim küçük olduğu için kaldırmaya karar verdim. Ubuntuya ayırdığım bölümü sildim. Bilgisayarı yeniden başlattığımda "group not found" hatasıyla karşılaştım. Bunun nedeni ubuntu kurulurken Windowsdaki MBR (Master Boot Record ) 'nin  değiştirilmiş olmasındandır. Şimdi bunun çözümünden bahsedelim.

Eğer Windows XP kullanıyorsanız bilgisayarınızı XP cdsi ile boot edin. Windonws kendisi bir kaç dosya kopyaladıktan sonra  açılan ekranda "R" tuşuna basılır. Recovery Console – Kurtarma ekranına girilir.
Burada kurulu olan windowsu büyük ihtimalle 1. C:\windows olarak görürüz. 1 denilir ve "enter" basılır. yönetici parolası verdiyseniz girersiniz XP için, vermediyseniz enter diye geçersiniz. Bundan sonra C:\Windows olarak dos ekranı bekller. Windowsu ilk yüklendiği gibi açılması için yani GRUB u silmek için. FIXMBR yazarız ve enterlarız. Uyarı Sorunca E deriz (türkçe windows için- ingilizce ise Y deriz) Bu işlemle Grub silinmiş ve Windows MBR original haliyle geri yüklenmiş olur.

İşletim Sisteminiz Windows 7 ise  Windows 7 kurulum CD’si ile bilgisayarı başlatıyoruz, Kurulum başlangıcındaki Dil, zaman, klavye vs. ayarlarını geçiyoruz, Karşımıza çıkan seçeneklerden Repair Your Computer menüsüne giriyoruz, Şimdi burdan Command Prompt’a giriyoruz, Konsola eğer Windows’u C’ye kurduysak “bootsect /nt60 C:\” yazıyoruz. Tüm bölümleri düzeltmek istiyorsak “bootsect /nt60 ALL” yazabiliriz ki büyük ihtimalle gerek olmayacaktır. Kurulumdan çıkıp DVD’yi çıkarıyor, bilgisayarımızı yeniden başlatıyoruz.