Getting your Trinity Audio player ready...
|
Esse é um código antigo que estava escondido no HD.
Bem simples e usual.
/* Versao: 1.0 Data: 20100302 Por: Ricardo Leka Site: https://leka.com.br email: ricardo@leka.com.br twitter: @bigleka */ /* Gerador de Senhas Pode gerar senhas com quantidades minima e maxima de caracteres com numeros ou complexidade */ DECLARE @complex tinyint , @minlen tinyint , @maxlen tinyint SET @minlen = 4 --tamanho minimo da senha SET @maxlen = 8 --tamanho maximo da senha SET @complex = 4 -- 1 todas as letras minusculas -- 2 inclui letras maiusculas -- 3 inclui numeos -- 4 inclui caracteres especiais DECLARE @password varchar(12) , @len tinyint , @type tinyint , @type2 tinyint SET @len = 0 SET @password = '' WHILE @len NOT BETWEEN @minlen and @maxlen BEGIN SET @len = ROUND(1 + (RAND(CHECKSUM(NEWID())) * @maxlen), 0) + 1 END WHILE @len > 0 BEGIN DECLARE @newchar CHAR(1) SET @type = ROUND(1 + (RAND(CHECKSUM(NEWID())) * (@complex - 1)), 0) IF @type = 1 SET @newchar = CHAR(ROUND(97 + (RAND(CHECKSUM(NEWID())) * 25), 0)) IF @type = 2 SET @newchar = CHAR(ROUND(65 + (RAND(CHECKSUM(NEWID())) * 25), 0)) IF @type = 3 SET @newchar = CHAR(ROUND(48 + (RAND(CHECKSUM(NEWID())) * 9), 0)) IF @type = 4 BEGIN SET @type2 = ROUND(1 + (RAND(CHECKSUM(NEWID())) * 3), 0) IF @type2 = 1 SET @newchar = CHAR(ROUND(33 + (RAND(CHECKSUM(NEWID())) * 14), 0)) IF @type2 = 2 SET @newchar = CHAR(ROUND(58 + (RAND(CHECKSUM(NEWID())) * 6), 0)) IF @type2 = 3 SET @newchar = CHAR(ROUND(91 + (RAND(CHECKSUM(NEWID())) * 5), 0)) IF @type2 = 4 SET @newchar = CHAR(ROUND(123 + (RAND(CHECKSUM(NEWID())) * 3), 0)) END -- remove caracteres que podem ser confundidos com outros IF @newchar NOT IN ('b', 'l', 'o', 's', 'I', 'O', 'S', '0', '1', '!', '''', '.', ',', '/', '`', '\', '|') BEGIN SET @password = @password + @newchar SET @len = @len - 1 END END SELECT @password as Senha