MySQL 生成随机密码

2014-11-24 18:09:32 · 作者: · 浏览: 0

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个字符长度的密码。