oracle数据库中,用脚本实现user表中password项中已存在的值,利用自己的加密方式进行加密后再更新数据库?

2025年03月22日 17:52
有4个网友回答
网友(1):

declare
v_pwd varchar2(100);
begin
for cur in (select user_id,password from user) loop --user_id 是表的主键

v_pwd:=【 你的加密方法】

update user set password=v_pwd where user_id=cur.user_id;
end loop;
commit;

end;

网友(2):

先创建一个函数
CREATE OR REPLACE FUNCTION GET_MD5
( p_str in varchar2)
RETURN varchar2 IS
BEGIN
RETURN Utl_Raw.Cast_To_Raw(DBMS_OBFUSCATION_TOOLKIT.MD5(input_string => Upper(P_Str)));
END;
再写个更新语句
UPDATE TABLE XXX SET PASSWORD=GET_MD5(PASSWORD)

网友(3):

你这样做的话,你的程序还能正确读出密码吗。
相应的程序都要改的吧。

友情提醒。。。

网友(4):

给个邮箱地址,有个列子。给你发过去。看看。