oracle中针对字段进行md5加密

转至元数据结尾
转至元数据起始

    最近遇到个问题,需要批量修改cardinfo 和account表的密码,密码规则是根据车牌号码或者证件号码的后4位,密码进行md5加密。

  当时接到任务时本来想着通过程序将需要的数据查出来,然后针对每条记录进行md5加密。后来经过领导提示可否直接通过oracle数据库直接获取md5密码,然后直接更新,这样可能会快些。

通过研究发现竟然针对实现了通过 md5密码加密过程。现将过程如下:

  1. 新建个函数

    md5加密的存储过程函数  折叠原码
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    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 ;
     

  2. 直接在oracle中进行使用函数进行md5加密

测试md5加密  折叠原码
1
2
3
4
5
6
7
8
9
10
11
update  ac_cardinfo ac
set  ac.cardpwd=md5(substr(ac.plateno,length(ac.plateno)-3))
where  ac.cardno=1141230010008626
 
 
 
 
---
update  ac_account ac
set  ac. password =md5(substr(ac.certno,length(ac.certno)-3))
where  ac.certno= '612128197606275527'

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值