border

Miembros:
Mensajes:
Temas:
Online:

Ultimo Miembro:

 
 

  #1 (permalink)  
Antiguo 28-11-2005, 20:34:08
Gran Participación en el Foro
 
Registrado: may 2004
Posts: 135
Gace Valoración +2
Predeterminado Hola como puedo generar una cadena Aleatoria

Hola como estan aca yo de nuevo con otra consulta, quisiera saber como puedo generar una cadena de manera aleatoria, entre numeros y letras, de una dimension determinada por mi ya sea de 13 a 15 caracteres, y es que pretendo utilizar este mismo codigo como referencia para generar claves de acceso, muchas gracias por su respuesta...
__________________
GACE-SISAC
Soluciones Informaticas
El Conocimiento es como el Pan de Cada dia
no dejemos de alimentarnos de ella.
Responder Con Cita
  #2 (permalink)  
Antiguo 29-11-2005, 09:45:10
Avatar de nonnato
Gran Participación en el Foro
 
Registrado: abr 2004
Ubicación: Santander (Cantabria)
Posts: 376
nonnato Valoración +2
Predeterminado

Bueno, he hecho una funcion que te genera la cadena aleatoria, de tu lado queda el comprobar que dicha cadena que se ha generado no existe ya en tu BD.

Como parametro debes pasar la longitud de la cadena que se va a generar, yo en el ejemplo, le mando 13, asi que la clave que se genera poseera 13 caracteres.

El codigo es el siguiente:

Código:
Private Sub Form_Load()
Text1.Text = ""
Dim i As Integer
For i = 0 To 20
MsgBox obtenerPassword(13)
Next i
End Sub
Private Function obtenerPassword(longitud_Clave As Integer) As String
Randomize
Dim i As Byte
Dim tipoCaracter As Integer
Dim j As Integer
Dim h As Integer
Dim resultado As String
Dim Numeros(10) As String
Dim Mayusculas(25) As String
Dim Minusculas(25) As String
Dim generacionPSS() As String
ReDim generacionPSS(longitud_Clave)
j = 0
For i = 48 To 57
Numeros(j) = Chr(i)
j = j + 1
Next i
j = 0
For i = 65 To 90
Mayusculas(j) = Chr(i)
j = j + 1
Next i
j = 0
For i = 97 To 122
Minusculas(j) = Chr(i)
j = j + 1
Next i
For h = 0 To longitud_Clave - 1
'aleatorio para saber si concateno numero, mayuscula o minuscula
tipoCaracter = Int((3 * Rnd))
Select Case tipoCaracter
    'numero
    Case 0:
        generacionPSS(h) = Numeros(Int((UBound(Numeros) * Rnd)))
    'minuscula
    Case 1:
        generacionPSS(h) = Minusculas(Int((UBound(Minusculas) * Rnd)))
    'mayuscula
    Case 2:
        generacionPSS(h) = Mayusculas(Int((UBound(Mayusculas) * Rnd)))
End Select

Next h
resultado = ""
'concateno resultado para devolver solo un string y asi olvidarse de los vectores
For j = 0 To longitud_Clave - 1
resultado = resultado & generacionPSS(j)
Next j
obtenerPassword = resultado
End Function
Un saludo.
__________________
Mi programuca te lo regalo, la ideuca te la vendo
Responder Con Cita
  #3 (permalink)  
Antiguo 29-11-2005, 10:17:24
Gran Participación en el Foro
 
Registrado: abr 2004
Ubicación: Sevilla
Posts: 250
juanchojif Valoración +2
Predeterminado

Yo lo haría de otra forma:
Una cadena con todas las letras y numeros:
"abcdefghijklmnñopqrstuvwxyzABCDEFGHYJKLMNÑOP...01 23456789"
Y has accidendido de forma leaotira X veces para formar una cadena de longitud X.
mi_cadena=mi_cadena & mid(cadena,1,numero_aleatorio)
Responder Con Cita
Respuesta


Herramientas
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Trackbacks are habilitado
Pingbacks are habilitado
Refbacks are habilitado


Temas Similares
Tema Autor Foro Respuestas Último Mensaje
PUEDO GENERAR GRAFICAS LINEALES EN FLASH (COMO LAS DE EXCEL) pedrinchi FLASH MX & FLASH 8 0 06-08-2007 15:39:51
Recorrer Recordset como una cadena miguel_1969 Visual Basic 6.00 2 19-07-2006 13:11:14
hola, como le puedo dar formato a la columna??? guadalupe30 Visual Basic.NET 2003 & 2005 0 16-06-2006 18:48:08
Como extraer cadena Claudia Visual Basic 6.00 3 11-04-2005 21:57:00
Hola Tengo problemas para generar un texto necesito Ayuda Ur Gace Visual Basic 6.00 2 17-09-2004 00:00:00


La franja horaria es GMT. Ahora son las 18:32:37.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0
A vBSkinworks Design

Alojado en el servicio Premium de Masquewebs | Diseño mejorado por MasqueWebs

right