İleri Seviye SQL Server Sql Server

SQL Server’da Sezar Şifreleme Prosedürü

SQL Server Eğitimleri Kanalına Abone Olun

Herkese merhaba,

Bu yazıda SQL Server’da Sezar Şifreleme prosedürü hakkında bilgi vermeye çalışacağım.

Sezar şifrelemeyi şöyle özetlersek, ilk kez Romalı lider Jül Sezar tarafından kullanılmış olan şifreleme tekniğidir. Düz metindeki her harfin, alfabeden belirli bir sayı ileride konumlu olan bir harfle değiştirildiği bir şifreleme türüdür.

Aşağıda prosedürü kullanarak siz de bu işlemi rahatlıkla yapabilirsiniz.

CREATE PROCEDURE SezarSifreleme @SifrelenecekMetin AS VARCHAR(500)
AS
BEGIN
    SET NOCOUNT ON;
    DECLARE @SHIFTNO AS TINYINT = 3; --Bu kısmı kendinize göre revize edebilirsiniz.
    DECLARE @SifrelenmisMetin AS VARCHAR(500) = '';
    DECLARE @pc AS VARCHAR(1);
    DECLARE @i AS SMALLINT = 1;
    DECLARE @n AS SMALLINT;
    SET @n = LEN(@SifrelenecekMetin);
    SET @SifrelenecekMetin = UPPER(@SifrelenecekMetin);
    WHILE @i <= @n
    BEGIN
        SET @pc = SUBSTRING(@SifrelenecekMetin, @i, 1);
        IF ASCII(@pc)
           BETWEEN 65 AND 90
            IF ASCII(@pc) + @SHIFTNO > 90
                SET @pc = CHAR((ASCII(@pc) + @SHIFTNO) - 90 + 64);
            ELSE
                SET @pc = CHAR((ASCII(@pc) + @SHIFTNO));
        SET @SifrelenmisMetin = @SifrelenmisMetin + @pc;
        SET @i = @i + 1;
    END;
    SELECT @SifrelenmisMetin;
END;
GO


--Kullanımı

EXEC dbo.SezarSifreleme @SifrelenecekMetin = 'Yavuz'; -- varchar(500)

Prosedürü oluşturup çalıştırdığınızda aşağıdakine benzer bir sonuç elde edeceksiniz.

Görüldüğü üzere metin istediğimiz gibi şifrelenmiş oldu.

Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.

61 Kez Okundu
SQL Server Eğitimleri Kanalına Abone Olun

Yazar hakkında

Yavuz Selim Kart

Yazılım ve veri tabanında bildiklerimi anlatmaya gayret ediyorum. Halen birçok programlama dili üzerinde araştırmalar yaparak kendimi geliştiriyorum. Bunlar haricinde Grafik Tasarım ve Wordpress konularına da ilgim bulunmakta. SEO ve Sosyal medya yönetimleri hakkında da bilgim mevcuttur. Kısaca çok çalışmayı seven azimli birisiyim.

Kopyalamak Yasaktır!