日期:2014-05-16  浏览次数:20688 次

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