init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -0,0 +1,44 @@
|
|||
DROP FUNCTION IF EXISTS dev.fnGeneratePassword
|
||||
GO
|
||||
|
||||
CREATE FUNCTION dev.fnGeneratePassword (
|
||||
@length int
|
||||
) RETURNS nvarchar(50)
|
||||
AS BEGIN
|
||||
|
||||
DECLARE
|
||||
@digit nvarchar(10) = '23456789'
|
||||
,@upper nvarchar(26) = 'ABCDEFGHJKLMNPQRSTUVWXYZ'
|
||||
,@lower nvarchar(26) = 'abcdefghijkmnopqrstuvwxyz'
|
||||
,@character nvarchar(120)
|
||||
,@i int = 1
|
||||
,@return nvarchar(50) = ''
|
||||
,@format nvarchar(50)
|
||||
,@char char(1)
|
||||
|
||||
IF @length < 8 BEGIN
|
||||
SET @length = 8
|
||||
END
|
||||
|
||||
SET @character = @lower + @digit + @upper
|
||||
SET @format = REPLICATE('C', @length)
|
||||
|
||||
SET @format = STUFF(@format, (SELECT (CAST(FLOOR(RandomNumber * 100) AS int) % 2) + 2 FROM dev.vGetRand), 1, 'U') /* 2. vagy 3. karakter nagybetű lesz*/
|
||||
SET @format = STUFF(@format, (SELECT (CAST(FLOOR(RandomNumber * 100) AS int) % 2) + 4 FROM dev.vGetRand), 1, 'D') /* 4. vagy 5. karakter számjegy lesz*/
|
||||
SET @format = STUFF(@format, (SELECT (CAST(FLOOR(RandomNumber * 100) AS int) % 2) + 6 FROM dev.vGetRand), 1, 'L') /* 6. vagy 7. karakter kisbetű lesz*/
|
||||
|
||||
WHILE @i <= @length BEGIN
|
||||
SET @char = SUBSTRING (@format, @i, 1)
|
||||
SET @return +=
|
||||
CASE @char
|
||||
WHEN 'D' THEN SUBSTRING (@digit, (SELECT CAST(FLOOR(RandomNumber * (LEN(@digit) - 1) + 1) AS int) FROM dev.vGetRand), 1)
|
||||
WHEN 'U' THEN SUBSTRING (@upper, (SELECT CAST(FLOOR(RandomNumber * (LEN(@upper) - 1) + 1) AS int) FROM dev.vGetRand), 1)
|
||||
WHEN 'L' THEN SUBSTRING (@lower, (SELECT CAST(FLOOR(RandomNumber * (LEN(@lower) - 1) + 1) AS int) FROM dev.vGetRand), 1)
|
||||
WHEN 'C' THEN SUBSTRING (@character, (SELECT CAST(FLOOR(RandomNumber * (LEN(@character) - 1) + 1) AS int) FROM dev.vGetRand), 1)
|
||||
END
|
||||
SET @i += 1
|
||||
END
|
||||
RETURN @return
|
||||
END
|
||||
GO
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue