Üye Kayıt Üye Giriş

ORACLE DBMS_CRYPTO Pakedi (Bölüm 2) ;


ORACLE DBMS_CRYPTO Pakedi (Bölüm 2) ;

 

Önceki makalemizde Oracle’ın  paketlerinde DBMS_CRYPTO Pakedi üzerine konuşmuş ve iki fonksiyonundan bahsetmiştik bu makalede ise geriye kalan fonksiyonlarını inceleyeceğiz .

HASH, MAC, RANDOMBYTES, RANDOMINTEGER, RANDOMNUMBER

 

HASH : Hash algoritmalarını kullanarak daha önceki iki fonksiyondan farklı olarak bir anahtar keilimeye ihtiyaç duymaksızın şifreleme işlemi gerçekleştirmekte kullanılabilecek olan bir fonksiyondur.

İhtiyacı olan iki parametre vardır ;

dbms_crypto.hash(

src IN RAW,

typ IN PLS_INTEGER )

RETURN RAW;

SRC => Raw formatına çevrilmiş olan ve şifrelenmek istenen data

TYP=> Sifreleme İşlemi için kullanılacak şifreleme tipi (*)

 

Örnek :

Declare

v_deger raw(128):=utl_raw.cast_to_raw(‘ORACLE’);

v_sifre_tipi pls_integer;

v_result raw(2048);

Begin

v_sifre_tipi:=dbms_crypto.HASH_MD4;

v_result:=dbms_crypto.hash(v_deger,v_sifre_tipi);

Dbms_output.put_line(v_result);

End;

/

MAC : Mac fonksiyonuda aynı hash fonksiyonu gibi tek yönlü bir şifreleme işlemi sağlar.İkisi arasındaki en belirgin fark MAC fonksiyonu bir anahtar kelimeye ihtiyaç duyar.

Dbms_crypto.mac (

src IN RAW,

typ IN PLS_INTEGER,

key IN RAW

)

RETURN RAW;

SRC => Şifrelenmek istenen datanın raw formatına çevrilmiş hali

TYP => Mac fonksiyonu için seçilecek şifreleme tipi (**)

KEY => Raw formatta verilecek anahtar kelime.

 

Örnek :

Declare

v_deger raw(128):=utl_raw.cast_to_raw(‘ORACLE’);

v_sifre_tipi pls_integer;

v_anahtar raw(128):= utl_raw.cast_to_raw(‘Anahtarkelime’);

v_result raw(128);

Begin

v_sifre_tipi:=dbms_crypto.HMAC_MD5;

v_result:=dbms_crypto.mac(v_deger,v_sifre_tipi,v_anahtar);

Dbms_output.put_line(v_result);

End;

/

RANDOMBYTES : Bu fonksiyon verilecek olan bir PLS_INTEGER tipindeki veriye karşılık olarak rastgele bir raw tipli veri üretir.

dbms_crypto.randombytes(

number_bytes PLS_INTEGER

)

RETURN RAW;

 

 

number_bytes => Verilecek byte boyutu

 

Örnek :

Declare

deger raw(2048);

Begin

deger:=DBMS_CRYPTO.RANDOMBYTES(15);

dbms_output.put_line(deger);

End;

/

 

RANDOMINTEGER ve RANDOMNUMBER : Bu iki fonksiyonda parametre almadan çalışan ve geriye randominteger => binary_integer ,randomnumber => Number tipinde sayı değerleri dönen fonksiyonlardır.

Örnek :

begin

dbms_output.put_line(dbms_crypto.randomnumber);

dbms_output.put_line(dbms_crypto.randominteger);

end;

/

(*) Aşağıdaki metodlar kullanılabilir.

İsim Data Tipi Değeri
Hash fonksiyonları için Şifreleme metodları
HASH_MD4 (128 bit hash) PLS_INTEGER 1
HASH_MD5 (128 bit hash) PLS_INTEGER 2
HASH_SH1 (160 bit hash) PLS_INTEGER 3
     

 

(**) Aşağıdaki metodlar kullanılabilir

İsim Data Tipi Değeri
MAC fonksiyonları için Şifreleme metodları
HMAC_MD5 (128 bit hash) PLS_INTEGER 1
HMAC_SH1 (160 bit hash) PLS_INTEGER 2
Bilgisayar Dershanesi Ders Sahibi;
Bilgisayar Dershanesi

Yorumlar

Yorum Yapabilmek İçin Üye Girişi Yapmanız Gerekmektedir.

ETİKETLER