Como criar um gerador de senhas aleatórias escrito em PHP, C# (CSharp) ou Transact-SQL (T-SQL)

Olá pessoal,
Bom dia!

Neste post rápido, vou demonstrar para vocês, como criar um pequeno gerador de senhas aleatórias, para ser utilizado das mais diversas formas. Vou disponibilizar esse script utilizando as linguagens C# (para utilizar no SQL Server, com o CLR), PHP e Transact-SQL.

Esses scripts são bem simples, mas a ideia é demonstrar como utilizar esse recurso nas 3 principais tecnologias que eu utilizo.

Como criar um gerador de senhas escrito em PHP

php-random-password-generator-with-php

Código-fonte:

Como criar um gerador de senhas escrito em C# (com CLR)

sql-server-random-password-generator-with-clr-csharp-c

Código-fonte:

Como criar um gerador de senhas escrito em Transact-SQL (TSQL)

sql-server-random-password-generator-with-transact-sql-tsql

Código-fonte

Como vocês podem ter observado, não é possível utilizar a função RAND() dentro de funções UDF. Caso você tenta fazê-lo, o SQL Server irá retornar essa mensagem de erro:

Msg 443, Level 16, State 1, Procedure fncGera_Senha, Line 50
Invalid use of a side-effecting operator ‘rand’ within a function.

Para contornar isso, existem várias formas, mas vou citar as 2 mais simples:

  • Criar uma view simplesmente retornando a função RAND() para acessar pela função:

    e na sua função UDF, você troque a função RAND() por um SELECT [rand] FROM vwRand:
    Exemplo:

  • A segunda forma, é simplesmente trocar a função RAND() pelo comando abaixo, conforme demonstrei neste exemplo:

    Eu gosto mais dessa solução, pois ela não exige a criação de nenhum outro objeto no banco além da própria função.

É isso aí, pessoal!
Espero que tenham gostado do post e até o próximo.

php c# csharp random strings passwords generator

php c# csharp random strings passwords generator

SQL, sql server, sql server 2008, sql server 2008 R2, Oracle, Oracle Database, Oracle 11g, Oracle 10g, Oracle 12c, MySQL, Firebird, Consultoria, Consultor, Programador, Programação. Desenvolvedor, Analista de Sistemas, DBA, Criação de website, Criação de Sistema Web, Vitória, Vila Velha, Guarapari, Espírito Santo, ES, Consultoria SQL em VItória, Treinamento, Curso, Prestação de serviço, prestar serviço, freelancer, freela, banco de dados, consultoria em banco de dados, consultor de banco de dados

Deixe uma resposta