我简化了步骤, 比之前的更加简洁,常规生成随机密码。
调用方法:
select func_range_string_mod(20); 代表需要生成20个字符长度的密码。
- DELIMITER$$
- USE`t_girl`$$
- DROPFUNCTIONIFEXISTS`func_range_string_mod`$$
- CREATEDEFINER=`root`@`localhost`FUNCTION`func_range_string_mod`(
- f_numINTUNSIGNED--Totalstrings.
- )RETURNSVARCHAR(200)CHARSETlatin1
- BEGIN
- DECLAREiINTUNSIGNEDDEFAULT0;
- DECLAREv_resultVARCHAR(200)DEFAULT'';
- DECLAREv_dictVARCHAR(200)DEFAULT'';
- SETv_dict='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
- SETv_dict=LPAD(v_dict,200,v_dict);
- WHILEi<f_num
- DO
- SETv_result=CONCAT(v_result,SUBSTR(v_dict,CEIL(RAND()*200),1));
- SETi=i+1;
- ENDWHILE;
- RETURNv_result;
- END$$
- DELIMITER;
调用方法:
select func_range_string_mod(20); 代表需要生成20个字符长度的密码。