Página 1 de 1

SEGURANCA - Funcao de geração de senha aleatória

Enviado: 07 Jan 2007 05:08
por rochinha
Amiguinhos

Ao produzir um modulo para meu sistema precisei confeccionar uma função que pudesse me retornar uma senha aleatória para os cadastros de clientes e vendedores que acessam o mesmo.

Usando Clipper eu sei que posso encontrar zilhões destas funções em várias LIBs mas usando Harbour o tempo me diz que é melhor criar.

Portanto esta aí e seu uso é simples bastando passar os parametros:

Tamanho - tamanho da senha retornada 6, 8 ou que que desejar
Tipo - tipo da senha retornada 1-Numerica, 2-Alfanumérica e 3-Alfabética

Código

Código: Selecionar todos

Function GerarSenha(MaxNum,Tipo)
   * 1 = Somente Numeros
   * 2 = Numero e Letras
   * 3 = Somente Letras
   local chave := ""
   var_valores := { "0123456789",;
                    "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",;
                    "ABCDEFGHIJKLMNOPQRSTUVWXYZ" }[Tipo]
   for i = 1 to MaxNum
       num := random(len(var_valores))
       chave := chave + substr(var_valores,num,1)
   next
   return lTrim(chave)

function Random( nMaximo )
   static nRandom
   local nTemporal
   nMaximo = if( nMaximo == NIL, 65535, nMaximo )
   if nRandom == NIL
      nRandom = seconds()
   endif
   nTemporal = ( nRandom * seconds() ) % ( nMaximo + 1 )
   nRandom = nTemporal + seconds()
   RETURN int( nTemporal )