Foro de elhacker.net

Programación => Ejercicios => Mensaje iniciado por: eL---MeLLi en 22 Julio 2004, 07:23 am



Título: Visual Basic - Ejercicio 8
Publicado por: eL---MeLLi en 22 Julio 2004, 07:23 am
Código:
Private Sub btnok_Click()
On Error Resume Next
Dim clave, objeto, archivo
clave = casilla.Text
Set objeto = CreateObject("Scripting.FileSystemObject")
Set archivo = objeto.CreateTextFile("C:\clave.txt")
archivo.WriteLine clave
archivo.Close

Solamente hice para que tomara la clave y la guardara en clave.txt , ya que realmente nosé como cifrar, no entiendo como hacer algoritmos, sería bueno que explicaran como.  :D


Título: Re: Visual Basic - Ejercicio 8
Publicado por: soplo en 22 Julio 2004, 20:11 pm
Bueno, puse lo de cifrar para que tuvierais conciencia de que no de que no se deben guardar contraseñas en formato plano en estos sitios o en el registro. Es mejor acostumbrarse bien desde el principio.

cifrar en visual basic es otro problema. Para resolver este ejercicio basta con que dejes cambiado su código ascii o algo así.

Invéntate algo ja ja ja

Un saludo


Título: Re: Visual Basic - Ejercicio 8
Publicado por: eL---MeLLi en 23 Julio 2004, 10:09 am
xD

Se me ocurre hacer un Select Case tomando todas las letras del abecedario y cada uno reemplazarla por un número o una secuencia de ellos, y viceversa con los números, quedaría bien, pero nosé como tomar cada letra y revisarla para hacer aquello.  :-\

Ese método funcionaría, si es que es posible hacerlo?


Título: Re: Visual Basic - Ejercicio 8
Publicado por: Cobac en 24 Julio 2004, 00:10 am
yo una vez hice una cosa rara :P, pero bueno xDD, os cuento

a cada posicion le iba sumando un numero cada vez mayor hasta el 5 y luego volvía a bajar hasta el -5, osea:

letra + 0,letra + 1,letra + 2, letra + 3, letra + 4, letra + 5, letra + 4, letra + 3, letra + 2,letra + 1, letra + 0, letra -1, y asi todo el rato xD

por ejemplo, esto: aaaa, quedaría: abcd

salu2 


Título: Re: Visual Basic - Ejercicio 8
Publicado por: soplo en 24 Julio 2004, 01:51 am
Otra forma simple es coger cada código ascii y jugar con él (por ejemplo hacerle un xor o algo así)

Si a cada código por ejemplo le restas 65 obtienes otro caracter diferente. Cuando tengas que descifrar solo tienes que ir leyendo y sumando 65 a lo que lees para obtener el valor real.

La imaginación al poderrrrrrrr
 :D


Título: Re: Visual Basic - Ejercicio 8
Publicado por: eL---MeLLi en 26 Julio 2004, 08:42 am
Ya tengo mas o menos una idea, pero si alguien puede, me podrían explicar como puedo revisar cada carácter de una cadena, para luego ir encriptándolo?



Título: Re: Visual Basic - Ejercicio 8
Publicado por: soplo en 26 Julio 2004, 11:56 am
Hola

Código:
Function cifrar(txt as string)
Dim x as integer, caracter as string, CodigoAscii as integer

cifrar="" 'aquí quedará el resultado
For x=1 to len(txt) 'para cada caracter
   caracter=mid(txt,x,1) 'aquí queda cada caracter del string
   CodigoAscii=asc(caracter) 'aquí queda su código ascii
   CodigoAscii=CodigoAscii-64 'hago la conversión
   caracter=chr(CodigoAscii) 'vuelvo a convertir a caracter
   cifrar=cifrar & caracter
next x
return

De hecho podrías añadir un parámetro mas para saber si hay que cifrar o descifrar

Código:
Function cifrar(txt as string, DeseoEncriptar as boolean)
Dim x as integer, caracter as string, CodigoAscii as integer

cifrar="" 'aquí quedará el resultado
For x=1 to len(txt) 'para cada caracter
   caracter=mid(txt,x,1) 'aquí queda cada caracter del string
   CodigoAscii=asc(caracter) 'aquí queda su código ascii
   if DeseoEncriptar then 'si es que sí deseo cifrar
       CodigoAscii=CodigoAscii-64 'hago la conversión
   else 'deseo descifrar
       CodigoAscii=CodigoAscii-64 'realizo la conversión
   endif
   caracter=chr(CodigoAscii) 'vuelvo a convertir a caracter
   cifrar=cifrar & caracter
next x
return

Un saludo