Visual Basic.NET - llamar openssl en vb.net

   
Vista:

llamar openssl en vb.net

Publicado por wericson (10 intervenciones) el 09/08/2010 23:05:37
Hola buenas tardes a todos!

Estoy desarrollando un sistema de facturación electrónica en vb.net. realmente apenas estoy empezando en esto de la programacion y estoy un poco confundida, alguien me podria decir como mando llamar a la libreria openssl desde visual basic para poder implementar el md5??????

gracias!!
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:llamar openssl en vb.net

Publicado por Joan F (129 intervenciones) el 10/08/2010 16:03:36
Hola,

Para esto, echa un vistazo al proyecto OpenSSL.NET (http://sourceforge.net/projects/openssl-net/). Este es una especie de capa intermedia para poder usar openssl en .NET. A pesar de que esta hecho en C#, no tendría que haber ningún problema para usarlo en VB.NET agregándolo como referencia.

En todo caso, si lo que quieres es sólo calcular el MD5, el mismo .NET ya incluye clases que implementan MD5. En VB.NET sería:

Public Function ValorMD5(ByVal textoACodificar As String) As String

Dim codificador As New System.Security.Cryptography.MD5CryptoServiceProvider
Dim valorEnBytes() As Byte
Dim cadenaMD5 As New System.Text.StringBuilder

valorEnBytes = codificador.ComputeHash(System.Text.Encoding.Default.GetBytes(textoACodificar))

For contador = 0 To valorEnBytes.Length - 1
cadenaMD5.Append(valorEnBytes(contador).ToString("x2")) 'Añade a la cadena el valor del byte en formato hexadecimal
Next contador

Return cadenaMD5.ToString()

End Function
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:llamar openssl en vb.net

Publicado por Daniel Cordova (2 intervenciones) el 24/08/2010 20:47:36
o tambien puede ser así.

Imports System.Text
Imports System.Security.Cryptography

Dim cadena As String = "||2.0|B|0000000001|17-08-2010T00:00:00|49|2008|INGRESO|UNA SOLA EXHIBICIÓN|EFECTIVO|1000|1160|GEC0809301KA|Grupo Ei en Comercio Exterior S. de R.L. de C.V.|CANTÚ|9|705 1|NUEVA ANZUERES|DISTRITO FEDERAL|MIGUEL HIDALGO||México|11590|ATM990909U84|AGILENT TECHNOLOGIES MEXICO S DE RL DE CV|BOULEVARD ADOLFO LOPEZ MATEOS|2009|202|LOS ALPES|DISTRITO FEDERAL|México|01010|1|HONORARIOS DEL AGENTE ADUANAL|1000|IVA|16|160|3547-0055598,3547-0055633,3547-0055656,3547-0055780|2010-08-17,2010-08-17,2010-08-17,2010-08-17|AEROPUERTO INTERNACIONAL DE LA CIUDAD DE MÉXICO,AEROPUERTO INTERNACIONAL DE LA CIUDAD DE MÉXICO,AEROPUERTO INTERNACIONAL DE LA CIUDAD DE MÉXICO,AEROPUERTO INTERNACIONAL DE LA CIUDAD DE MÉXICO||"
Dim CadenaUTF8 As Byte()
Dim tmpHash() As Byte
Dim Digestion As String

'convierte en UTF8
CadenaUTF8 = System.Text.Encoding.UTF8.GetBytes(cadena)

'crea el hash
tmpHash = New MD5CryptoServiceProvider().ComputeHash(CadenaUTF8)

' lo pasa a una variable string mediante la funcion ByteArrayToString
Digestion = ByteArrayToString(tmpHash)
Ruta = Me.Path.Text.Trim

System.IO.File.WriteAllText(Ruta & "MD5.txt", Digestion, Encoding.UTF8)
System.IO.File.WriteAllText(Ruta & "CadenaOriginal.txt", cadena, Encoding.UTF8)


Ahora alguien digame como utilizo openssl.net desde net.
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:llamar openssl en vb.net

Publicado por Daniel Cordova Cedano (2 intervenciones) el 24/08/2010 20:50:37
me falto la funcion

Private Function ByteArrayToString(ByVal arrInput() As Byte) As String
Dim i As Integer
Dim sOutput As New StringBuilder(arrInput.Length)
For i = 0 To arrInput.Length - 1
sOutput.Append(arrInput(i).ToString("x2"))
Next
Return sOutput.ToString()
End Function
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