Oracle定义DES加密解密及MD5加密函数示例

来源:本网整理

  MD5解密方法  我在存储数据库的时候,通过md5加密方法将字段进行加密,当我在读取该字段时

(1)DES加密函数

如果不需要恢复明码,可以用md5 如果需要恢复明码,可以用des之类的。

create or replace function encrypt_des(p_text varchar2, p_key varchar2) return varchar2 is v_text varchar2(4000); v_enc varchar2(4000); raw_input RAW(128) ; key_input RAW(128) ; decrypted_raw RAW(2048); begin v_text := rpad( p_text, (trunc(length(p_text)/8)+1)*8, chr(0)); raw_input := UTL_RAW.CAST_TO_RAW(v_text); key_input := UTL_RAW.CAST_TO_RAW(p_key); dbms_obfuscation_toolkit.DESEncrypt(input => raw_input,key => key_input,encrypted_data =>decrypted_raw); v_enc := rawtohex(decrypted_raw); dbms_output.put_line(v_enc); return v_enc; end;

你的userpwd字段存的是字符串‘123’做了md5加密后的字符串,你在条件里用123当然不行了

(2)DES解密函数

北京时间8月30日,2017年天津全运会结束了男女团体四分之一决赛的争夺,解放军男乒3:2力克坐拥张继科、方博两位世界冠军的山东队晋级男团四强,离卫冕男团冠军又进了一步,解放军女乒方面则遗憾止步——在和湖北队的1/4决赛的较量中,解放军女乒主将木子独得两分但是依然没能挽回队伍落败的命运,解放军女乒以2:3遗憾地告负,无缘四强。其实不只是在本届全运会上,回顾国内大赛,解放军男乒的成绩远远好于解放军女乒的成绩。在已经过去的12届全运会比赛中,解放军男乒六次登顶,女队则一次都没能登顶女团。全锦赛上解放军男乒同样6次登顶,但是女乒最好成绩只拿过女团第三。之所以会出现这种情况,和队员有着密不可分的关系。

create or replace function decrypt_des(p_text varchar2,p_key varchar2) return varchar2 is v_text varchar2(2000); begin dbms_obfuscation_toolkit.DESDECRYPT(input_string => UTL_RAW.CAST_TO_varchar2(p_text),key_string =>p_key, decrypted_string=> v_text); v_text := rtrim(v_text,chr(0)); dbms_output.put_line(v_text); return v_text; end;

旗袍,华丽复古,婀娜多姿,最能体现东方女子的韵味。《花样年华》的张曼玉,《色戒》的汤唯,《倾城之恋》的陈数,大写的惊艳!记忆深刻啊!了解到旗袍的样式很多,此前做了很多功课,我们先简单介绍一下旗袍样式:旗袍样式:?袖式:宽袖、窄袖、长袖、中袖、无袖?开襟:如意襟、斜襟、双襟、琵琶襟旗袍上的襟是出去袖子,前面的那一片。开襟是中式上衣、袍子的一种样式,服装可以从中间或某个地方分开的,就叫开襟。?领型:高领、低领、无领?开叉:高开叉、低开衩?款式:长旗袍、短旗袍、夹旗袍、单旗袍经典造型:关于惊艳了我的旗袍样式,每一款都有其独特的韵味,咱们各选几个代表说说吧!1、高领无袖旗袍:《花样年华》张曼玉的23套

(3)MD5加密函数

先来说说女女明星吧你看杨颖,不画眼线的时候看起来很清秀:化了眼线后颜值立马逆天,小女人味道十足:再来看看赵丽颖,不化妆的时候看起来非常可爱:化了眼线后,感觉小可爱长大了有木有?立马整个人气质都变好了很多呢~我们看看单眼皮的代表,周冬雨,眼睛有点下垂的她,看着非常古灵精怪:而画了眼线后,本身小巧清秀型的她,整个人精神不少,非常加分。再看看大表姐刘雯,虽然是公认的妆前妆后差别不大的脸。但是内双的她,如果不画眼线,眼睛总是肿的。化了一条眼线后,双眼瞬间从水肿变成闪亮有神。志玲姐姐不用说了吧,素颜虽然也不错,但是画眼线后明显颜值高了不少:女明星中最妖孽的就是范冰冰了吧?经常爆自己的素颜照,但是每次一上

CREATE OR REPLACE FUNCTION MD5(passwd IN VARCHAR2) RETURN VARCHAR2 IS retval varchar2(32); BEGIN retval := utl_raw.cast_to_raw(DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT_STRING => passwd)) ; RETURN retval; END;

相信许多80、90后都不会忘记儿时记忆中的“加长车”,那时候的林肯就是我们能够见到最“美式”的车,一代经典Towncar也早在1990年就已经进入中国。然而可惜的是,随后林肯在华表现一直萎靡不振,销量更是逐年下跌,最终只得抱恨在2008年黯然退出中国市场。也许是难以割舍,也许是还保有一丝不甘,林肯终于还是在2014年重返中国市场。全新改款的林肯MKZ,骨子里透露出更多的优雅。2.0T涡轮增压发动机,全系标配CCD可调阻尼,LED前大灯及一体式LED尾灯,高级音响。全新设计全面升级,新林肯MKZ原装进口优雅驾临,集优雅豪华动感于一体,提供体现林肯独特风格的全新林肯星辉式格栅,安全丰富的人性化科技

(4)函数使用示例

DES加密: update tb_salarysign_staff s set s.staffpwd =encrypt_des(s.staffpwd, 'test#5&124*!de');

DES解密:select decrypt_des(s.staffpwd, 'test#5&124*!de') from tb_salarysign_staff s

MD5加密: update tb_salarysign_staff s set s.staffpwd = md5(s.staffpwd);

扩展阅读,根据您访问的内容系统为您准备了以下内容,希望对您有帮助。

如何利用Oracle自带的MD5对数据进行加密

1、DBMS_OBFUSCATION_TOOLKIT.MD5是MD5编码的数据包函数

CREATE OR REPLACE FUNCTION MD5(passwd IN VARCHAR2)

RETURN VARCHAR2

IS

retval varchar2(32);

BEGIN

retval := utl_raw.cast_to_raw(DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT_STRING => passwd)) ;

RETURN retval;

END;

select md5('123456') from dual;

MD5('123456')

e10adc3949ba59abbe56e057f20f883e

2、DES加密

create or replace function

encrypt_des(p_text varchar2, p_key varchar2) return varchar2 is

v_text varchar2(4000);

v_enc varchar2(4000);

raw_input RAW(128) ;

key_input RAW(128) ;

decrypted_raw RAW(2048);

begin

v_text := rpad( p_text, (trunc(length(p_text)/8)+1)*8, chr(0));

raw_input := UTL_RAW.CAST_TO_RAW(v_text);

key_input := UTL_RAW.CAST_TO_RAW(p_key);

dbms_obfuscation_toolkit.DESEncrypt(input => raw_input,key => key_input,encrypted_data =>decrypted_raw);

v_enc := rawtohex(decrypted_raw);

dbms_output.put_line(v_enc);

return v_enc;

end;

DES加密:

update tb_salarysign_staff s set s.staffpwd =encrypt_des(s.staffpwd, 'test#5&124*!de');

3、DES解密函数

create or replace function decrypt_des(p_text varchar2,p_key varchar2) return varchar2 is

v_text varchar2(2000);

begin

dbms_obfuscation_toolkit.DESDECRYPT(input_string => UTL_RAW.CAST_TO_varchar2(p_text),key_string =>p_key, decrypted_string=> v_text);

v_text := rtrim(v_text,chr(0));

dbms_output.put_line(v_text);

return v_text;

end;

DES解密:select decrypt_des(s.staffpwd, 'test#5&124*!de') from tb_salarysign_staff s;

急求Oracle数据库中MD5解密方法!!!

  MD5解密方法

  我在存储数据库的时候,通过md5加密方法将字段进行加密,当我在读取该字段时如何正确的读取原来的值啊

  ------解决方案--------------------

  没办法,MD5是不可逆的。

  你需要使用可逆加密算法。

  ------解决方案--------------------

  插入表中的时候md5加密

  比如:

  $sql= "insert into register(names,pswd,repswd) values( '$_POST[names] ',md5( '$_POST[pswd] '),md5( '$_POST[repswd] ')) ";

  $qid=mysql_query($sql);

  读取的时候

  $pswd=empty($_POST[ 'pswd '])? ' ':md5($_POST[ 'pswd ']);

  ------解决方案--------------------

  如果业务要求可还原,那么不要采用MD5,请使用可逆加密算法,如DES加密。

  MD5为不可逆散列算法,可用于存储用户密码,存储后不需要永远不需要知道明文。密码比较时只需将用户输入的密码再次转成MD5码与存储的相比较即可得知用户输入密码是否正确。

  linux/unix操作系统一般采用MD5进行用户密码加密。

  ------解决方案--------------------

  MD5目前所谓的破解只是采用碰撞法找到了对等因子。

  比如:string1的MD5码为MD1,而现在我们做到的只是又找到了一个string2,它的MD5码也是MD1。

  结果就是:用户登陆某采用MD5加密的系统时,本来密码是12345,现在可能用abcde也能登陆。

  想想可能还原吗?如果可以还原,那天大的信息也能用32位长的字符串表示了,这不成了超级压缩算法了吗,整个宇宙的信息都可以用32位长表示了。不可逆的!

如何把oracle数据库中的密码这一项的字段都改成MD5加密的

UPDATE table SET 密码=MD5(密码);

不知道oracle中有没有,mysql中是存在的。追问你上面写的“密码”分别是什么啊?

如何将密码加密后存入oracle数据库

加密的字符串一般是在 程序当中生产的比如现在流行的16位 md5加密码。一般都是在程序当中对用户输入的 真实密码。进行一个MD5加密,会生产一个加密码。然后按需要截取其中16位。在把这16位MD5加密码 字符串 存取在数据库当中。在用户登入的时候。用户会输入真的密码在进行加密截取。然后和数据库当中的进行比较。如果成功则true反之为fasle

求 Oracle MD5加密,及java程序端的处理步骤

1:自己在oracle创建md5加密的function,代码可以参考下面:

create or replace function MD5 (vin_string IN VARCHAR2)

RETURN VARCHAR2 IS

BEGIN

RETURN UPPER(Dbms_Obfuscation_Toolkit.Md5 ( input => utl_raw.cast_to_raw(vin_string) ));

END MD5

2:密码均是以md5存储的密文存在数据库,匹配的时候也是密文比较一致性。无需解密,若解密,反而用户不满意了。追问你好,请问Oracle端可不可以只要有insert或者update操作,就自动进行MD5加密?追答不行的,最好让数据库管理员在oracle的function加上这个函数就可以调用返回密文了,这样对你其他项目的程序需要加密的时候也很方便

  • 本文相关:
  • 使用工具 plsqldev将Excel导入Oracle数据库
  • oracle查看被锁的表和被锁的进程以及杀掉这个进程
  • 快速查出Oracle数据库中锁等待的方法
  • oracle使用instr或like方法判断是否包含字符串
  • oracle通过行范围查询取4至10行
  • oracle 11g 设置用户密码大小写敏感测试
  • Oracle 查询表信息获取表字段及字段注释
  • ORACLE 10G修改字符编码没有超字符集的限制
  • ORACLE DATAGUARD中手工处理日志v$archive_GAP的方法
  • 如何在Oracle中导入dmp文件
  • 免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved