Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4184092
  • 博文数量: 240
  • 博客积分: 11504
  • 博客等级: 上将
  • 技术积分: 4277
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-28 14:24
文章分类

全部博文(240)

分类: Mysql/postgreSQL

2013-03-06 18:28:01

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



点击(此处)折叠或打开

  1. DELIMITER $$


  2. USE `t_girl`$$


  3. DROP FUNCTION IF EXISTS `func_range_string_mod`$$


  4. CREATE DEFINER=`root`@`localhost` FUNCTION `func_range_string_mod`(
  5.     f_num INT UNSIGNED -- Total strings.
  6.     ) RETURNS VARCHAR(200) CHARSET latin1
  7. BEGIN
  8.     
  9.       DECLARE i INT UNSIGNED DEFAULT 0;
  10.       DECLARE v_result VARCHAR(200) DEFAULT '';
  11.       DECLARE v_dict VARCHAR(200) DEFAULT '';
  12.       SET v_dict = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
  13.       SET v_dict = LPAD(v_dict,200,v_dict);
  14.       WHILE i < f_num
  15.       DO
  16. SET v_result = CONCAT(v_result,SUBSTR(v_dict,CEIL(RAND()*200),1));
  17.         SET i = i + 1;
  18.       END WHILE;
  19.       RETURN v_result;
  20.     END$$


  21. DELIMITER ;






调用方法:






select func_range_string_mod(20); 代表需要生成20个字符长度的密码。
阅读(4501) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~