Hi everyone. My new website is opened. Actually I had before but it was closed. Now it's come back. Efsane geri döndü!. You can use my website with multilingual. English, Ofcourse Turkish and Spanish. You just need to click flags of language.
Websitem açıldı. Websitemi İngilizce , Türkçe, İspanyolca takip edebilirsiniz. Ahmet Melih Başbuğ iftarla takdim eder.
www.ahmetmelihbasbug.net
For English press 9.. Şaka Şaka For English: www.ahmetmelihbasbug.net/anasayfa?dil=en
Aslında 9 a dokununca İngilizce olsa :D belki yapmışımdır.
For Spanish: www.ahmetmelihbasbug.net/anasayfa?dil=es
21 Haziran 2016 Salı
7 Haziran 2016 Salı
Oracle'da Acil, Hızlı, Basit bir dbms_crypto ile Veri Şifreleme ve Deşifreleme Fonksiyonu

Şifreleme Fonksiyonu;
CREATE OR REPLACE FUNCTION sifrele (p_gnl_data in VARCHAR2, p_gnl_key IN VARCHAR2) RETURN RAW IS p_gnl_result RAW(2048);Deşifreleme fonksiyonu;
BEGIN
p_gnl_result := dbms_crypto.encrypt(src => utl_raw.cast_to_raw(p_gnl_data), typ => DBMS_CRYPTO.DES_CBC_PKCS5, key => utl_raw.cast_to_raw(p_gnl_key));
RETURN(p_gnl_result);
END;
CREATE OR REPLACE FUNCTION sifrecoz (p_gnl_rawdata in RAW, p_gnl_key IN VARCHAR2) RETURN VARCHAR2 IS p_gnl_result VARCHAR2(2048);
BEGIN
p_gnl_result := dbms_crypto.decrypt
( src => p_gnl_rawdata,
typ => DBMS_CRYPTO.DES_CBC_PKCS5,
key => utl_raw.cast_to_raw(p_gnl_key) );
RETURN(utl_raw.cast_to_varchar2(p_gnl_result));
END;
Burada şifrelenecek veri ve anahtar varchar olarak fonksiyona yollanmaktadır. Şifre çözme için ise şifreli veri RAW olarak yollanmalıdır. Şifrelenen veri RAW formatta gelmektedir. 2048 olmasının nedeni, Canımın istediğinden dolayıdır. Siz veri boyutuna göre ayarlayacaksınız. Ama RAW'a çevrilen verilerin boyutu büyümektedir. Ona göre. Anahtar ise yine VARCHAR. şifre çözümün sonucunda VARCHAR veri gelmektedir.
Örnekler ise;
Eğer şifreleme sonucu VARCHAR gönderilmesini istiyorsanız ve deşifrelerken, şifreli VARCHAR'ı yollamak istiyorsanız;
SQL> select p_gnl_encrypt('a123aab121-12sa','abcdefg12') sifrele from dual;
sifrele
-------------------------------------------
ECF692DE128241E3B93C1916F07BA21A
SQL> select p_gnl_decrypt('ECF692DE128241E3B93C1916F07BA21A','abcdefg12') sifrecoz from dual;
sifrecoz
-------------------------------------------
a123aab121-12sa
CREATE OR REPLACE FUNCTION p_gnl_encrypt (p_gnl_data in VARCHAR2, p_gnl_key IN VARCHAR2) RETURN VARCHAR2 IS p_gnl_result VARCHAR2(2048);
BEGIN
p_gnl_result := dbms_crypto.encrypt(src => utl_raw.cast_to_raw(p_gnl_data), typ => DBMS_CRYPTO.DES_CBC_PKCS5, key => utl_raw.cast_to_raw(p_gnl_key));
RETURN(utl_raw.cast_to_varchar2(p_gnl_result));
END;
/
CREATE OR REPLACE FUNCTION p_gnl_decrypt (p_gnl_rawdata in VARCHAR2, p_gnl_key IN VARCHAR2) RETURN VARCHAR2 IS p_gnl_result VARCHAR2(2048);Örnek istiyorsanız;
BEGIN
p_gnl_result := dbms_crypto.decrypt ( src => utl_raw.cast_to_raw(p_gnl_rawdata), typ => DBMS_CRYPTO.DES_CBC_PKCS5, key => utl_raw.cast_to_raw(p_gnl_key) );
RETURN(utl_raw.cast_to_varchar2(p_gnl_result));
END;
/
SQL> select p_gnl_encrypt('a123aab121-12sa','abcdefg12') sifrelenmis from dual;
sifrelenmiş
--------------------------
���A� �
SQL> select p_gnl_decrypt(p_gnl_encrypt('a123aab121-12sa','abcdefg12'),'abcdefg12') desifrelenmis from dual;
desifrelenmis
-----------------------------
a123aab121-12sa
Saygılar Sevgiler...
DUYURU: Yakında tüm yazılarımı, resimlerimi, koleksiyonumu, hakkımda bilgileri tek bir adresten yani www.ahmetmelihbasbug.net adresinden görebileceksiniz... www.ahmetmelihbasbug.net yakında açılıyor.
Etiketler:
cyrpto function,
dbms_crypto,
ORA,
oracle 11gr2,
oracle 12c,
oracle crypto,
Oracle database,
oracle function,
oracle şifreleme,
pl/sql,
şifre fonksiyonu,
veri şifreleme
Yer:
Floransa, İtalya
Kaydol:
Kayıtlar (Atom)