Microsoft SQL Veritabanı sunucusu (MSSQLSERVER) veri kriptolama ve veri dosyası kriptolama
Bölüm 3
ENCRYPTBYPASSPHRASE fonksiyonu ile Triple-DES (3DES) kriptolama
evet bu yöntemde bizim tarafımızdan verilen bir değer kriptolama anahtarı
olarak kullanılır. hashbytes yöntemine göre daha sağlamdır. ancak kriptolama
sırasında kullandığımız gizli kelimeyi unutursak verilerimizi bir daha çözemeyiz.
daha önceki örneğimizde olduğu gibi yine bir kullanıcı tablosu kullancağız.
bu sefer şifrelerimizi encryptbypassphrase ile kriptolayıp
decryptbypassphrase ile de-kripto edeceğiz.
CREATE TABLE [dbo].[tblUser2](
[id] [int] IDENTITY(1,1) NOT NULL,
[username] [varchar](20) NOT NULL,
[isim] [varchar](50) NOT NULL,
[sifre] [varbinary](512) NOT NULL,
CONSTRAINT [PK_tblUser2] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
-- kullanıcılarımızı şu şekilde kaydedeceğiz...
declare @username varchar(20)
declare @sifre varchar(20)
declare @isim varchar(50)
--kullanıcı kaydet
set @isim='Fatih ÜNAL'
set @username='fatih'
set @sifre='şifre12345'
insert into tblUser2
values(@username ,@isim , ENCRYPTBYPASSPHRASE(N'unutmamamız gereken gizli ifade',@sifre) )
select * from tblUser2
--şifre doğrumu kontrolü
declare @username varchar(20)
declare @sifre varchar(20)
set @username='fatih'
set @sifre='şifre12345' -- uygulamadan gelen şifre
if exists(select * from tblUser2
where username=@username and DECRYPTBYPASSPHRASE(N'unutmamamız gereken gizli ifade',sifre)=@sifre )
begin
select 'doğru'
end
else
begin
select 'yanlış'
end
Hiç yorum yok:
Yorum Gönder