Visual Basic - Ejercicio 8

Iniciado por eL---MeLLi, 22 Julio 2004, 07:23 AM

0 Miembros y 1 Visitante están viendo este tema.

eL---MeLLi


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

soplo

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
Callar es asentir ¡No te dejes llevar!

eL---MeLLi

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?

Cobac

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 
PIV 2533 @ 2720Mhz | 512MB DRR333 @ 358 | 160 Gb + 40 Gb Seagate Barracuda

En la Edad Media la Iglesia robaba con los diezmos. En el siglo XXI la SGAE roba con sus cánones.

soplo

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
Callar es asentir ¡No te dejes llevar!

eL---MeLLi

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?


soplo

Hola

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

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
Callar es asentir ¡No te dejes llevar!