note 91089 deleted from mcrypt.examples by danbrown
| From: | danbrown@php.net | Date: | Mon, 25 May 2009 22:08:14 +0000 |
| Subject: | note 91089 deleted from mcrypt.examples by danbrown | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-155969@lists.php.net to get a copy of this message | ||
Note Submitter: ricbalda at hotmail dot com
Reason: non-english
----
Hola a todos,
Después de dÃas de buscar en Google un ejemplo de como interopera VB9 con PHP encontré algo
pero con Java.
Transforme el código de Java a VB9.NET y se los pongo a su consideración:
Codigo VB9.NET
Imports System
Imports System.Security.Cryptography
Imports System.IO
Imports System.Text
Imports System.Text.Encoding
Imports System.ComponentModel
Public Class Lib_Encripta
Public Function Encripta( _
ByVal strMensaje As String, _
ByVal strClave As String, _
ByVal strIV As String) As String
'Crea el objeto con la libreria para encriptar
Dim objRijndael As Rijndael = Rijndael.Create
objRijndael.Mode = CipherMode.CBC
objRijndael.Padding = PaddingMode.PKCS7
'Convierte la Clave en ByteArray
'Dim SecretKey As Byte() = ASCII.GetBytes("01234567890abcde")
Dim bytSecretKey As Byte() = ASCII.GetBytes(strClave)
objRijndael.KeySize = 128
objRijndael.Key = bytSecretKey
'Convierte la IV en ByteArray
'Dim iv As Byte() = ASCII.GetBytes("fedcba9876543210")
Dim iv As Byte() = ASCII.GetBytes(strIV)
objRijndael.BlockSize = 128
objRijndael.IV = iv
'Convierte el Mensaje en ByteArray
Dim encrypted As Byte() = ASCII.GetBytes(strMensaje)
'Crea la instancia para Encriptador
Dim encryptor As ICryptoTransform = objRijndael.CreateEncryptor(bytSecretKey, iv)
'Ejecuta la rutina para Encriptar
Dim bytresult As Byte() = encryptor.TransformFinalBlock(ASCII.GetBytes(strMensaje), 0,
strMensaje.Length)
'Libera Recursos
objRijndael.Clear()
encryptor.Dispose()
'Retorna los resultados como Hex y como Base64
Me.strMensajeHex = BytesToHex(bytresult)
Me.strMensajeBin = System.Convert.ToBase64String(bytresult)
'Retorna el resultado como string
CalculodeInteresesA = BytesToHex(bytresult)
End Function
Public Function Desencripta( _
ByVal strMensajeHex As String, _
ByVal strClave As String, _
ByVal strIV As String) As String
'Crea el objeto con la libreria para encriptar
Dim objRijndael As Rijndael = Rijndael.Create
objRijndael.Mode = CipherMode.CBC
objRijndael.Padding = PaddingMode.None
'Convierte la Clave en ByteArray
'Dim SecretKey As Byte() = ASCII.GetBytes("01234567890abcde")
Dim bytSecretKey As Byte() = ASCII.GetBytes(strClave)
objRijndael.KeySize = 128
objRijndael.Key = bytSecretKey
'Convierte la IV en ByteArray
'Dim iv As Byte() = ASCII.GetBytes("fedcba9876543210")
Dim iv As Byte() = ASCII.GetBytes(strIV)
objRijndael.BlockSize = 128
objRijndael.IV = iv
'Convierte el TextoEncryptado en ByteArray
Dim bytMensaje As Byte() = HexToBytes(strMensajeHex)
'Crea la instancia para Desencriptar
Dim objdecryptor As ICryptoTransform = objRijndael.CreateDecryptor(bytSecretKey, iv)
'Ejecuta la rutina para Desencriptar
Dim bytResultado As Byte() = objdecryptor.TransformFinalBlock(bytMensaje, 0,
bytMensaje.Length)
'Libera Recursos
objRijndael.Clear()
objdecryptor.Dispose()
'Retorna el resultado como string
CalculodeInteresesB = ASCII.GetString(bytResultado)
End Function
End Class
Ok. Eso es todo espero que les sea de utilidad
Ricardo Balda