随机产生密码,Insus.NET总结了三个,并分别写成了存储过程。
第一个,
代码如下 | 复制代码 |
usp_RandomPassword CREATE PROCEDURE [dbo].[usp_RandomPassword] |
第二个,
代码如下 | 复制代码 |
usp_RandomPassword CREATE PROCEDURE [dbo].[usp_RandomPassword] ( @Length INT = 8 ) AS BEGIN DECLARE @RandomPassword NVARCHAR(MAX) = N'',@L INT = 1 --随机密码将由下面字符串产生,数字0-9,大写字母A-Z,小写字母a-z DECLARE @BaseString VARCHAR(255) = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz' WHILE @L <= @Length --循环密码长度 BEGIN --61是变量@BaseString的长度减一 SET @RandomPassword = @RandomPassword + SUBSTRING(@BaseString, CONVERT(INT,ROUND(RAND() * 61 + 1,0)),1) SET @L = @L + 1 END SELECT @RandomPassword END |
第三个,
代码如下 | 复制代码 |
usp_RandomPassword CREATE PROCEDURE [dbo].[usp_RandomPassword] ( @Length INT = 8 ) AS BEGIN DECLARE @RandomPassword NVARCHAR(MAX) = N'' DECLARE @R TINYINT,@L INT = 1 WHILE @L <= @Length --循环密码长度 BEGIN SET @R = ROUND(RAND() * 2, 0) --随机产生0,1,2整数 IF @R = 0 --当变量为0时,将随机产生一位数字 SET @RandomPassword = @RandomPassword + CHAR(ROUND(RAND() * 9 + 48,0)) ELSE IF @R = 1 --当变量为1时,将随机产生一位大写字母 SET @RandomPassword = @RandomPassword + CHAR(ROUND(RAND() * 25 + 65,0)) ELSE IF @R = 2 --当变量为2时,将随机产生一位小写字母 SET @RandomPassword = @RandomPassword + CHAR(ROUND(RAND() * 25 + 97,0)) SET @L = @L + 1 END SELECT @RandomPassword END |
最后一个也可以重构写成:
代码如下 | 复制代码 |
usp_RandomPassword CREATE PROCEDURE [dbo].[usp_RandomPassword] Also reference: |
我的世界斗罗大陆mod手机版
我的世界斗罗大陆生存手机版是一个加入了满满小说斗罗大陆元素的
加查之星完整版(开发者菜单)
加查之星完整版是一款非常爆火好玩的嘎查加查俱乐部系列换装音乐
我的世界基岩版1.6版本游戏
我的世界基岩版1.6是款好玩的沙盒手游,这里没有规则限制,你
薄樱鬼中文版手机版
唯美的游戏场景,华丽的人物角色,薄樱鬼带你进入甜蜜的恋爱世界
我的世界pe1.14国际版手机版
我的世界pe1.14国际版是一款海外版本的我的世界,这款游戏