본문 바로가기
Developer/MS-sql

랜덤 패스워드 생성, random password Maker

by MindOpener 2019. 12. 23.
반응형


CREATE FUNCTION [dbo].[CreateRandomString] (  
    @iRandLength AS SMALLINT  
)  
RETURNS VARCHAR(100)  
  
AS  
  
BEGIN  
            DECLARE     @wPassword      VARCHAR(100)  
            DECLARE     @wCharacters    VARCHAR(100)  
            DECLARE     @wCount         INT  
  
            SET         @wCharacters    = ''  
  
            -- load up numbers 0 - 9  
            SET         @wCount = 48  
            WHILE       @wCount <=57  
            BEGIN  
                 SET    @wCharacters = @wCharacters + Cast(CHAR(@wCount) AS CHAR(1))  
                 SET    @wCount = @wCount + 1  
            END  
  
            -- load up uppercase letters A - Z  
            SET         @wCount = 65  
            WHILE       @wCount <=90  
            BEGIN  
                 SET    @wCharacters = @wCharacters + Cast(CHAR(@wCount) as CHAR(1))  
                 SET    @wCount = @wCount + 1  
            END  
  
            -- load up lowercase letters a - z  
            SET @wCount = 97  
            WHILE @wCount <=122  
            BEGIN  
                 SET    @wCharacters = @wCharacters + Cast(CHAR(@wCount) as CHAR(1))  
                 SET    @wCount = @wCount + 1  
            END  
  
  
            SET @wCount = 0  
            SET @wPassword = ''  
  
            WHILE @wCount < @iRandLength  
            BEGIN  
                 SET    @wPassword = @wPassword + SUBSTRING(@wCharacters,CAST(CEILING((SELECT r FROM RandHelper)*LEN(@wCharacters)) AS INT),1)  
                 SET    @wCount = @wCount + 1  
            END  
  
            RETURN @wPassword  
END  

 

 

 


CREATE VIEW [dbo].[RandHelper]  
--  랜덤 문자열생성을 위한 핼퍼 View

AS   
    SELECT RAND( ) AS r  
GO

반응형