oracle password_verify_function,使用PASSWORD_VERIFY_FUNCTION设置用户密码复杂度

依据PASSWORD_VERIFY_FUNCTION可以设置oracle用户的密码复杂度,比如密码长度>=10,必须包含字母/数字等

首先需要创建一个密码验证的function,然后设置profile的PASSWORD_VERIFY_FUNCTION即可

SQL> select TEXT from dba_source where NAME='VERIFY_JUSTIN_USER';

TEXT

------------------------------------------------------------------------------------------------------------------------------------

FUNCTION verify_JUSTIN_user (  username VARCHAR2,

password VARCHAR2,

old_password varchar2 )

RETURN boolean

IS

passwordMinLength   INTEGER;

passwordLength      INTEGER;

differ              INTEGER;

differMinLength     INTEGER;

isDigit             BOOLEAN;

isChar              BOOLEAN;

isPunct             BOOLEAN;

digitArray          VARCHAR2(20);

punctArray          VARCHAR2(25);

charArray           VARCHAR2(52);

BEGIN

digitArray         := '0123456789';

charArray          := 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';

punctArray         := '!"#$%&()``*+,-/:;<=>?_';

passwordMinLength  := 10;

differMinLength    := 2;--HAD-1

passwordLength     := LENGTH(password);

isDigit            := FALSE;

isChar             := FALSE;

isPunct            := FALSE;

-- +------------------------------------------------+

-- | Check if the password is same as the username  |

-- +------------------------------------------------+

你可能感兴趣的:(oracle)