MySQL 生成随机密码

我简化了步骤, 比之前的更加简洁,常规生成随机密码。

DELIMITER $$ 
 
USE `t_girl`$$ 
 
DROP FUNCTION IF EXISTS `func_range_string_mod`$$ 
 
CREATE DEFINER=`root`@`localhost` FUNCTION `func_range_string_mod`( 
    f_num INT UNSIGNED -- Total strings. 
    ) RETURNS VARCHAR(200) CHARSET latin1 
BEGIN 
     
      DECLARE i INT UNSIGNED DEFAULT 0;  
      DECLARE v_result VARCHAR(200) DEFAULT '';  
      DECLARE v_dict VARCHAR(200) DEFAULT ''; 
      SET v_dict = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; 
      SET v_dict = LPAD(v_dict,200,v_dict); 
      WHILE i < f_num  
      DO  
    SET v_result = CONCAT(v_result,SUBSTR(v_dict,CEIL(RAND()*200),1)); 
        SET i = i + 1;  
      END WHILE;   
      RETURN v_result;  
    END$$ 
 
DELIMITER ;

 

调用方法:

select func_range_string_mod(20); 代表需要生成20个字符长度的密码。

 

你可能感兴趣的:(MySQL 生成随机密码)