您的位置:首页 > 数据库 > Oracle

oracle 的加密解密函数

2005-12-26 19:58 621 查看
---加密---
FUNCTION decrypt(outpass in varchar2)
RETURN varchar2 IS
string_in varchar2(78);
string_out varchar2(39);
offset number(2);
inpass varchar2(30);
BEGIN
string_in :='YN8K1JOZVURB3MDETS5GPL27AXWIHQ94C6F0#$_';
string_out :='_$#ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
offset:=instr(string_in,substr(outpass,1,1));
string_in:=string_in||string_in;
string_in:=substr(string_in,offset,39);
inpass:=translate(upper(substr(outpass,2)),
string_out,string_in);
return inpass;
end;

---解密---
FUNCTION encrypt (inpass in varchar2)
RETURN varchar2 IS
string_in varchar2(78);
string_out varchar2(39);
offset number(2);
outpass varchar2(30);
BEGIN
offset :=to_number(to_char(sysdate,'ss'))mod 39;
string_in :='YN8K1JOZVURB3MDETS5GPL27AXWIHQ94C6F0#$_';
string_out :='_$#ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
outpass :=substr(string_in,offset,1);
string_in :=string_in||string_in;
string_in :=substr(string_in,offset,39);
outpass :=outpass||translate(upper(inpass),
string_in,string_out);
return outpass;
END;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: