Monday, May 2, 2011

crypto example

declare
cyp pls_integer:=DBMS_CRYPTO.DES_CBC_PKCS5;
key raw(500):=utl_raw.cast_to_raw('Aravindbabugidijala');
enc raw(1000);
begin
enc:= dbms_crypto.encrypt(utl_raw.cast_to_raw('this is a test file'),cyp,key);
dbms_output.put_line(enc);
end;
output is
6500165C6D82F05EA6D1DCE6F0411A3AB20EEDA56215A7D5

declare
cyp pls_integer:=DBMS_CRYPTO.DES_CBC_PKCS5;
key raw(500):=utl_raw.cast_to_raw('Aravindbabugidijala');
enc raw(1000);
begin
enc:=dbms_crypto.decrypt('6500165C6D82F05EA6D1DCE6F0411A3AB20EEDA56215A7D5',cyp,key);
dbms_output.put_line(utl_raw.cast_to_varchar2(enc));
end;
output is
this is a test file


create or replace package body user_data
as
cyp pls_integer:=DBMS_CRYPTO.DES_CBC_PKCS5;
key raw(500):=utl_raw.cast_to_raw('Aravindbabugidijala');
procedure put_data(un char,pa varchar2)
is
begin
execute immediate 'insert into users values(:un,:pa)' using dbms_crypto.encrypt(utl_raw.cast_to_raw(un),cyp,key),
dbms_crypto.encrypt(utl_raw.cast_to_raw(pa),cyp,key);
end put_data;
function getname return varchar2
is
una raw(50);
begin
select uname  into una from users;
return utl_raw.cast_to_varchar2(dbms_crypto.decrypt(una,cyp,key));
end getname;
function getpass return varchar2
is
pa raw(50);
begin
select pass into pa from users;
return utl_raw.cast_to_varchar2(dbms_crypto.decrypt(pa,cyp,key));
end getpass;
end;

No comments:

Post a Comment