• Jueves 18 de Abril de 2024, 11:36

Autor Tema:  Interpretar encriptacion y desencriptacion de datos  (Leído 3003 veces)

angelito1121

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Interpretar encriptacion y desencriptacion de datos
« en: Viernes 16 de Julio de 2010, 10:11 »
0
Bueno, ante todo muy buenas a los que lean este post. No me iré con rodeos, lo que sucede es que estoy haciendo un proyecto donde debo usar una libreria que me ayude a encriptar y desencriptar los datos, he estado trabajando con el codigo y funciona pero necesito explicar lo que hace cada linea de código y es esta la ayuda que pido, si por favor pudiesen ayudarme a interpretar el codigo, lo he hecho hasta donde he podido pero, creo que hay partes donde estoy mal y otras que nisiquiera entiendo. Espero puedan ayudarme, porque lo necesito bastante:

Primero les pongo la libreria de clases: (tiene 3 clases)

Clase Semillas:

Código: vb.net
  1. Public Class semillas
  2.     Public Function semilla(ByVal strclave As String) As String
  3.         Dim ingsemilla1 As Long
  4.         Dim ingsemilla2 As Long
  5.         Dim j As Long
  6.         Dim i As Long
  7.         ingsemilla1 = 0
  8.         ingsemilla2 = 0
  9.         'OBTENEMOS LA LONGITUD DE LA CADENA STRCLAVE
  10.         j = Len(strclave)
  11.  
  12.         'CREAMOS UN BUCLE QUE VAYA DESDE 1 HASTA LA LONGITUD DE STRCLAVE
  13.         For i = 1 To Len(strclave)
  14.             'SE OBTENDRA EL CODIGO ASCII DE CADA LETRA DE STRCLAVE Y DICHO CODIGO SERÁ MULTIPLICADO
  15.             'POR EL VALOR QUE TENGA I EN CADA VUELTA, EL RESULTADO SE ASIGNARA A INGSEMILLA1
  16.             ingsemilla1 = ingsemilla1 + Asc(Mid$(strclave, i, 1)) * i
  17.             'SE OBTENDRA EL CODIGO ASCII DE CADA LETRA DE STRCLAVE Y DICHO CODIGO SERÁ MULTIPLICADO
  18.             'POR EL VALOR QUE TENGA J EN CADA VUELTA, EL RESULTADO SE ASIGNARA A INGSEMILLA2
  19.             ingsemilla2 = ingsemilla2 + Asc(Mid$(strclave, i, 1)) * j
  20.             j = j + 1
  21.         Next
  22.         'FINALMENTE LA FUNCION SEMILLA DEVOLVERÁ LOS VALORES DE INGSEMILLA1 E INGSEMILLA2
  23.         semilla = LTrim$(Str$(ingsemilla1)) + "," + LTrim$(Str$(ingsemilla2))
  24.     End Function
  25. End Class
  26.  



Clase encriptar

Código: vb.net
  1. Public Class Encriptar
  2.     Public Function Codificar(ByVal strCadena As String, ByVal strSemilla As String) As String
  3.  
  4.         Dim lngIi1 As Long
  5.         Dim lngIi2 As Long
  6.         Dim i As Long
  7.         lngIi1 = Val(Left$(strSemilla, InStr(strSemilla, ",") - 1))
  8.         lngIi2 = Val(Mid$(strSemilla, InStr(strSemilla, ",") + 1))
  9.  
  10.         For i = 1 To Len(strCadena)
  11.  
  12.             lngIi1 = lngIi1 - i
  13.             lngIi2 = lngIi2 + i
  14.  
  15.             If (i Mod 2) = 0 Then
  16.  
  17.                 Mid(strCadena, i, 1) = Chr((Asc(Mid$(strCadena, i, 1)) - lngIi1) And &HFF)
  18.  
  19.             Else
  20.  
  21.                 Mid(strCadena, i, 1) = Chr((Asc(Mid$(strCadena, i, 1)) + lngIi2) And &HFF)
  22.  
  23.             End If
  24.  
  25.         Next
  26.  
  27.         Codificar = strCadena
  28.  
  29.     End Function
  30.  
  31. End Class
  32.  


Clase desencriptar:

Código: vb.net
  1. Public Class desencriptar
  2.     Public Function DeCodificar(ByVal strCadena As String, ByVal strSemilla As String) As String
  3.  
  4.         Dim lngIi1 As Long
  5.         Dim lngIi2 As Long
  6.         Dim i As Long
  7.         lngIi1 = Val(Left$(strSemilla, InStr(strSemilla, ",") - 1))
  8.         lngIi2 = Val(Mid$(strSemilla, InStr(strSemilla, ",") + 1))
  9.  
  10.         For i = 1 To Len(strCadena)
  11.  
  12.             lngIi1 = lngIi1 - i
  13.             lngIi2 = lngIi2 + i
  14.  
  15.             If (i Mod 2) = 0 Then
  16.  
  17.                 Mid(strCadena, i, 1) = Chr((Asc(Mid$(strCadena, i, 1)) + lngIi1) And &HFF)
  18.  
  19.             Else
  20.  
  21.                 Mid(strCadena, i, 1) = Chr((Asc(Mid$(strCadena, i, 1)) - lngIi2) And &HFF)
  22.  
  23.             End If
  24.  
  25.         Next
  26.  
  27.         DeCodificar = strCadena
  28.  
  29.     End Function
  30.  
  31. End Class
  32.  
  33.  

Y este seria el form donde uso la biblioteca

Código: vb.net
  1. Imports encriptacion
  2. Public Class Form1
  3.     Dim obj_encrip As New Encriptar
  4.     Dim obj_desencrip As New desencriptar
  5.     Dim obj_sem As New semillas
  6.     Dim s As String
  7.     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  8.         TextBox2.Text = obj_encrip.Codificar(TextBox1.Text, S)
  9.         TextBox1.Text = ""
  10.     End Sub
  11.  
  12.     Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
  13.         TextBox2.Text = obj_desencrip.DeCodificar(TextBox1.Text, s)
  14.         TextBox1.Text = ""
  15.     End Sub
  16.  
  17.     Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  18.         s = obj_sem.semilla("auditoria")
  19.     End Sub
  20. End Class
  21.  

asnaed

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re:Interpretar encriptacion y desencriptacion de datos
« Respuesta #1 en: Martes 11 de Diciembre de 2012, 20:22 »
0
Bueno, ante todo muy buenas a los que lean este post. No me iré con rodeos, lo que sucede es que estoy haciendo un proyecto donde debo usar una libreria que me ayude a encriptar y desencriptar los datos, he estado trabajando con el codigo y funciona pero necesito explicar lo que hace cada linea de código y es esta la ayuda que pido, si por favor pudiesen ayudarme a interpretar el codigo, lo he hecho hasta donde he podido pero, creo que hay partes donde estoy mal y otras que nisiquiera entiendo. Espero puedan ayudarme, porque lo necesito bastante:

Primero les pongo la libreria de clases: (tiene 3 clases)

Clase Semillas:

Código: vb.net
  1. Public Class semillas
  2.     Public Function semilla(ByVal strclave As String) As String
  3.         Dim ingsemilla1 As Long
  4.         Dim ingsemilla2 As Long
  5.         Dim j As Long
  6.         Dim i As Long
  7.         ingsemilla1 = 0
  8.         ingsemilla2 = 0
  9.         'OBTENEMOS LA LONGITUD DE LA CADENA STRCLAVE
  10.         j = Len(strclave)
  11.  
  12.         'CREAMOS UN BUCLE QUE VAYA DESDE 1 HASTA LA LONGITUD DE STRCLAVE
  13.         For i = 1 To Len(strclave)
  14.             'SE OBTENDRA EL CODIGO ASCII DE CADA LETRA DE STRCLAVE Y DICHO CODIGO SERÁ MULTIPLICADO
  15.             'POR EL VALOR QUE TENGA I EN CADA VUELTA, EL RESULTADO SE ASIGNARA A INGSEMILLA1
  16.             ingsemilla1 = ingsemilla1 + Asc(Mid$(strclave, i, 1)) * i
  17.             'SE OBTENDRA EL CODIGO ASCII DE CADA LETRA DE STRCLAVE Y DICHO CODIGO SERÁ MULTIPLICADO
  18.             'POR EL VALOR QUE TENGA J EN CADA VUELTA, EL RESULTADO SE ASIGNARA A INGSEMILLA2
  19.             ingsemilla2 = ingsemilla2 + Asc(Mid$(strclave, i, 1)) * j
  20.             j = j + 1
  21.         Next
  22.         'FINALMENTE LA FUNCION SEMILLA DEVOLVERÁ LOS VALORES DE INGSEMILLA1 E INGSEMILLA2
  23.         semilla = LTrim$(Str$(ingsemilla1)) + "," + LTrim$(Str$(ingsemilla2))
  24.     End Function
  25. End Class
  26.  



Clase encriptar

Código: vb.net
  1. Public Class Encriptar
  2.     Public Function Codificar(ByVal strCadena As String, ByVal strSemilla As String) As String
  3.  
  4.         Dim lngIi1 As Long
  5.         Dim lngIi2 As Long
  6.         Dim i As Long
  7.         lngIi1 = Val(Left$(strSemilla, InStr(strSemilla, ",") - 1))
  8.         lngIi2 = Val(Mid$(strSemilla, InStr(strSemilla, ",") + 1))
  9.  
  10.         For i = 1 To Len(strCadena)
  11.  
  12.             lngIi1 = lngIi1 - i
  13.             lngIi2 = lngIi2 + i
  14.  
  15.             If (i Mod 2) = 0 Then
  16.  
  17.                 Mid(strCadena, i, 1) = Chr((Asc(Mid$(strCadena, i, 1)) - lngIi1) And &HFF)
  18.  
  19.             Else
  20.  
  21.                 Mid(strCadena, i, 1) = Chr((Asc(Mid$(strCadena, i, 1)) + lngIi2) And &HFF)
  22.  
  23.             End If
  24.  
  25.         Next
  26.  
  27.         Codificar = strCadena
  28.  
  29.     End Function
  30.  
  31. End Class
  32.  


Clase desencriptar:

Código: vb.net
  1. Public Class desencriptar
  2.     Public Function DeCodificar(ByVal strCadena As String, ByVal strSemilla As String) As String
  3.  
  4.         Dim lngIi1 As Long
  5.         Dim lngIi2 As Long
  6.         Dim i As Long
  7.         lngIi1 = Val(Left$(strSemilla, InStr(strSemilla, ",") - 1))
  8.         lngIi2 = Val(Mid$(strSemilla, InStr(strSemilla, ",") + 1))
  9.  
  10.         For i = 1 To Len(strCadena)
  11.  
  12.             lngIi1 = lngIi1 - i
  13.             lngIi2 = lngIi2 + i
  14.  
  15.             If (i Mod 2) = 0 Then
  16.  
  17.                 Mid(strCadena, i, 1) = Chr((Asc(Mid$(strCadena, i, 1)) + lngIi1) And &HFF)
  18.  
  19.             Else
  20.  
  21.                 Mid(strCadena, i, 1) = Chr((Asc(Mid$(strCadena, i, 1)) - lngIi2) And &HFF)
  22.  
  23.             End If
  24.  
  25.         Next
  26.  
  27.         DeCodificar = strCadena
  28.  
  29.     End Function
  30.  
  31. End Class
  32.  
  33.  

Y este seria el form donde uso la biblioteca

Código: vb.net
  1. Imports encriptacion
  2. Public Class Form1
  3.     Dim obj_encrip As New Encriptar
  4.     Dim obj_desencrip As New desencriptar
  5.     Dim obj_sem As New semillas
  6.     Dim s As String
  7.     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  8.         TextBox2.Text = obj_encrip.Codificar(TextBox1.Text, S)
  9.         TextBox1.Text = ""
  10.     End Sub
  11.  
  12.     Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
  13.         TextBox2.Text = obj_desencrip.DeCodificar(TextBox1.Text, s)
  14.         TextBox1.Text = ""
  15.     End Sub
  16.  
  17.     Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  18.         s = obj_sem.semilla("auditoria")
  19.     End Sub
  20. End Class
  21.  





Te puedo ayudar pero aun necesitas la explicación?
y esta muy interesante ese encriptador/desincriptador