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

2025-03-22 17:52:03
推荐回答(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:

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