Visual Basic - Invertir Exponenciacion

Life is soft - evento anual de software empresarial
 
Vista:

Invertir Exponenciacion

Publicado por Ignacio (3 intervenciones) el 09/06/2005 14:11:11
Hola... yo tengo una encriptacion la cual debo invertir [hacer la desencriptacion]
Tengo un for el cual eleva un numero a la potencia i:

For i = 1 To Len("hola")
buff = Int(Asc(Mid("hola", i, 1)) ^ i / i * Len("hola"))
pass = pass + buff
Next

Todo lo otro es sencillo... lo que me esta quemando la cabeza es como invertir Asc(Mid("hola", i, 1)) ^ i

Si alguien me puede ayudar lo agradeceria...

PD: el encode este esta hecho por mi y es MUY sencillo... Es un comienzo a algo importante pero sino puedo resolver este =)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Invertir Exponenciacion

Publicado por Dennis Baldeón (103 intervenciones) el 09/06/2005 15:49:33
Hola, tienes que desarrollar una funcion que te devuelva la raiz x de un numero, el inverso a la potencia es la raiz cuadrada, y el resultado pasarlo a la funcion CHR()

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Invertir Exponenciacion

Publicado por Ignacio (3 intervenciones) el 09/06/2005 16:15:28
este es el encode:
Private Sub Command2_Click()
Dim buff As Double
Dim inv As String
Dim i As Integer

For i = Len(Text1) To 1 Step -1
inv = inv & Mid(Text1, i, 1)
Next i

For i = 1 To Len(inv)
buff = Int(Asc(Mid(inv, i, 1)) ^ i / i * Len(inv))
pass = pass + buff
Next

For i = 1 To Len(pass) Step 2
pwd = pwd & Chr(Mid(pass, i, 2))
Next
MsgBox pwd
'If pwd = "S&VKQb6" Then 'artemes
' MsgBox "Correcto"
'Else
' MsgBox "Sigue Intentando"
'End If
End Sub

el decode: --> que me falta la raiz
Private Sub Command2_Click()
Dim buff As Double
Dim i As Integer

For i = 1 To Len("S&VKQb6")
pwd = pwd & Asc(Mid("S&VKQb6", i, 2))
Next 'Hasta aca vamos bien

For i = 1 To Len(pwd) Step 2
buff = Mid(pwd, i, 2)
buff = raiz(buff, i)
buff = buff * i / Len(pwd)
pass = pass & Chr(Int(buff))
Next

For i = Len(pass) To 1 Step -1
inv = inv & Mid(pass, i, 1)
Next i

MsgBox inv
End Sub

Private Function raiz(numero As Double, veces As Integer) As Double
Do Until veces = a
raiz = Sqr(numero)
a = a + 1
Loop
End Function

pero no funciona... no se si la funcion esta bien hecha...algo estoy pasando por alto.-
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Invertir Exponenciacion

Publicado por Ignacio (3 intervenciones) el 10/06/2005 03:47:37
Alguien Sabe ??
UP ! :P
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar