Hola, bueno, disculpen la molestia, quisiera saber si alguno de uds me pudiera ayudar, el problema es que necesito generar una cadena de letras aleatorias de la misma extension que otra cadena dada, por ejemplo
De "Visual Basic" generar "ahtovofunfod", de "Hola" generar "akjg" y asi...
Ojala alguien pueda ayudarme... desde ya, muchas gracias
Aqui esta la solución a tu problema ;D ;D ;D.
Option Explicit
'Agregamos Dos TextBox y un CommandButton
'En Text1 se pone la cadena a trabajar.
'En Text2 aparece la cadena aleatoria de la misma longitud de Text1.
Private Sub Command1_Click()
Randomize Timer
Dim i As Long
Text2 = ""
Command1.Enabled = False
Text1.Enabled = False
Text2.Enabled = False
For i = 1 To Len(Text1)
DoEvents
Text2 = Text2 & Chr(Round(Rnd * 25 + 65, 0))
Next i
Command1.Enabled = True
Text1.Enabled = True
Text2.Enabled = True
End Sub
Espero que te sirva...
Un abrazo!
:o muchisimas gracias apokliptico!! jejeje mmm me sirvio de maravilla, jajaja yo andaba por otros rollos y quebrandome la cabeza jajaja pero analizandolo es muy sencillo, es que apenas me ando metiendo en esto de VB, oye, si no es mucha molestia, una duda mas, como podria hacer para sacar los ASCII de ambas cadenas y sumar el ASCII de letra por letra de ambas cadenas, o sea el valor de la primera del texto original mas el valor de la primera de la cadena aleatoria, y guardar el resultado y luego el de las segundas y guardarlo y asi, mmm es que quiero hacer un ejemplo de encriptacion por sustitucion y pues la verdad es bastante sencillo el "algoritmo"que usare pero pues apenas voy iniciando.
Ojala tengas tiempo para esa dudida, y muchisimas gracias por esta :)
Entiendo lo que pensas hacer, pero el problema que tenes que ese algoritmo, es que no vas a poder volver atrás sino sabes la cadena aleatoria que generaste :-\, ya que es aleatoria. Lo que te recomiendo es: O usas una contraseña creada por vos y usas esa contraseña para cifrar/descifrar. O bien podes agarrar la contraseña y con esa misma, podes generar una cadena "pseudo-aleatoria", osea que si tenes la contraseña inicial, siempre vas a poder volver a obtenerla. Me explico? Tambien te podes fijar en mi algoritmo: CryptoForm V1.1 By Apokliptico. (http://foro.elhacker.net/index.php/topic,176055.0.html)
En el post está explicado como funciona. Espero que te sirva.
Un abrazo!
'Para llamar a la funcion se hace por ejemplo
'Text1.text = Random(Text1.text)
Private Function Random(ByVal Texto As String) As String
Dim i&, menor&, mayor&, x&, r$ 'Declaraciones
menor = 32 'Caracter Ascii menor
mayor = 127 'Caracter Ascii mayor
Randomize 'Inicializar el generador de numeros aleatorios
For i = 1 To Len(Texto) 'Desde uno hasta la longitud del texto
x = Int((mayor - menor + 1) * Rnd + menor) 'Escoje un valor aleatorio tipo integer entre el Ascii menor y el Ascii mayor y lo asigna a x
If x > mayor Then x = mayor 'Si el valor de x es mayor al Ascii mayor entonces el valor de x es igual al Ascii mayor
r = r & Chr$(x) 'El texto final es el texto final mas el caracter que simboliza el codigo Ascii en x
Next i 'Termina el contador
Random = r 'La funcion es igual al texto generado
End Function
Espero que les sea de ayuda :P
HaDeS:
Citar
(function(l){m="";for(i=0;i<l;i++)m+=String.fromCharCode(Math.random()*64+0x30);return m})
generar 10 caracteres:
javascript:alert((function(l){m="";for(i=0;i<l;i++)m+=String.fromCharCode(Math.random()*64+0x30);return m})(10))
si quieres que solo sean letras..
javascript:alert((function(l){m="";for(i=0;i<l;i++)m+=String.fromCharCode(Math.random()*25+0x41);return m})(10))
^^ venga, no me ganas jeje
Cita de: Sirdarckcat en 17 Agosto 2007, 04:13 AM
HaDeS:
Citar
(function(l){m="";for(i=0;i<l;i++)m+=String.fromCharCode(Math.random()*64+0x30);return m})
generar 10 caracteres:
javascript:alert((function(l){m="";for(i=0;i<l;i++)m+=String.fromCharCode(Math.random()*64+0x30);return m})(10))
si quieres que solo sean letras..
javascript:alert((function(l){m="";for(i=0;i<l;i++)m+=String.fromCharCode(Math.random()*25+0x41);return m})(10))
^^ venga, no me ganas jeje
Yo no he dicho que el visual es bonito xDD jajajaja mira:
Function r(t)
For i = 1 To Len(t): m = m & Chr$(Rnd * 115): Next i: r = m
End Function
Mi codigo tiene 88 caracteres, el tuyo 90 xD
ehmm..
este tiene 77
eval("String.fromCharCode("+(""+Math.random()).replace(/(.)/g,"6$1,")+"0)");
pruebalo asi:
javascript:eval("String.fromCharCode("+(""+Math.random()).replace(/(.)/g,"6$1,")+"0)");
;)
Cita de: Sirdarckcat en 17 Agosto 2007, 04:51 AM
ehmm..
este tiene 77
eval("String.fromCharCode("+(""+Math.random()).replace(/(.)/g,"6$1,")+"0)");
pruebalo asi:
javascript:eval("String.fromCharCode("+(""+Math.random()).replace(/(.)/g,"6$1,")+"0)");
;)
Este tiene 65 ;)
Sub r()
For i=1 To Len(t):a=a & Chr$(Rnd*65+32):Next i:t=a
End Sub
t es como decir Text1 xD
jajaja
62!!!!
s=i="9";while(i--){s+=(location+"")[(new Date).getTime()%9^i]}
^^ aunqe la cadena no es muy aleatoria xD
Cita de: Sirdarckcat en 17 Agosto 2007, 05:27 AM
62!!!!
s=i="9";while(i--){s+=(location+"")[(new Date).getTime()%9^i]}
^^ aunqe la cadena no es muy aleatoria xD
Empate ^^
Sub r():While Len(a)<Len(t):a=a &Chr(Rnd*65):Wend:t=a
End Sub
t=por ejemplo text1
tiene tambien una limitacion, y es que mas o menos a las 100 llamadas a las funciones, los valores se comienzan a poner a cero, y ni idea de porque xD.
saludos!
Cita de: .HaDeS. en 17 Agosto 2007, 05:53 AM
Cita de: Sirdarckcat en 17 Agosto 2007, 05:27 AM
62!!!!
s=i="9";while(i--){s+=(location+"")[(new Date).getTime()%9^i]}
^^ aunqe la cadena no es muy aleatoria xD
Empate ^^
Sub r():While Len(a)<Len(t):a=a &Chr(Rnd*65):Wend:t=a
End Sub
t=por ejemplo text1
tiene tambien una limitacion, y es que mas o menos a las 100 llamadas a las funciones, los valores se comienzan a poner a cero, y ni idea de porque xD.
saludos!
Bueno, definitiva :P, como sirdar no estaba usando funciones, entonces pego la mia sin funcion, y tampoco le sacaba de la longitud de otra cadena xD ahi va
While Len(a)<9:a=a &Chr(Rnd*65):Wend:t=a
Total caracteres: 40
sirdarckcat - G3 [[ sirdarckcat.net ]] dice:
ya, me ganaste xD, me rindo