Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

xanburzum

[Resolvido] Gerar strings usando Random

Recommended Posts

Este é um simples, mas altamente uma função personalizável que lhe permite gerar strings aleatória. As seqüências aleatórias podem ser utilizados para diversas finalidades, incluindo:

 

Login Systems

senha aleatória para novas matrículas

Senha aleatória para usuários solicitando redefinição de senha

Consulta Códigos

Códigos promocionais

Chaves primárias das tabelas onde usando inteiros como chaves primárias não é desejável

Gera uma seqüência aleatória de long string com 8 caracteres que contém 1 dígito:

 

 

 

 

<%
  function RandomString( )

	Randomize( )

	dim CharacterSetArray
	CharacterSetArray = Array( _
	  Array( 7, "abcdefghijklmnopqrstuvwxyz" ), _
	  Array( 1, "0123456789" ) _
	)

	dim i
	dim j
	dim Count
	dim Chars
	dim Index
	dim Temp

	for i = 0 to UBound( CharacterSetArray )

	  Count = CharacterSetArray( i )( 0 )
	  Chars = CharacterSetArray( i )( 1 )

	  for j = 1 to Count

		Index = Int( Rnd( ) * Len( Chars ) ) + 1
		Temp = Temp & Mid( Chars, Index, 1 )

	  next

	next

	dim TempCopy

	do until Len( Temp ) = 0

	  Index = Int( Rnd( ) * Len( Temp ) ) + 1
	  TempCopy = TempCopy & Mid( Temp, Index, 1 )
	  Temp = Mid( Temp, 1, Index - 1 ) & Mid( Temp, Index + 1 )

	loop

	RandomString = TempCopy

  end function
%>

podemos ainda deixar mais complexa a senha contendo 1 upper-case, 1 dígito e 1 símbolo

 

<%
  function RandomString( )

	Randomize( )

	dim CharacterSetArray
	CharacterSetArray = Array( _
	  Array( 5, "abcdefghijklmnopqrstuvwxyz" ), _
	  Array( 1, "ABCDEFGHIJKLMNOPQRSTUVWXYZ" ), _
	  Array( 1, "0123456789" ), _
	  Array( 1, "!@#$+-*&?:" ) _
	)

	dim i
	dim j
	dim Count
	dim Chars
	dim Index
	dim Temp

	for i = 0 to UBound( CharacterSetArray )

	  Count = CharacterSetArray( i )( 0 )
	  Chars = CharacterSetArray( i )( 1 )

	  for j = 1 to Count

		Index = Int( Rnd( ) * Len( Chars ) ) + 1
		Temp = Temp & Mid( Chars, Index, 1 )

	  next

	next

	dim TempCopy

	do until Len( Temp ) = 0

	  Index = Int( Rnd( ) * Len( Temp ) ) + 1
	  TempCopy = TempCopy & Mid( Temp, Index, 1 )
	  Temp = Mid( Temp, 1, Index - 1 ) & Mid( Temp, Index + 1 )

	loop

	RandomString = TempCopy

  end function
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.