Ayuda para pasar de c# a VB.

18/02/2006 - 01:09 por Carlos | Informe spam
¿Alguien me puede ayudar a pasar este codigo a VB?

Es un ejemplo de encriptar / desencriptar de la web del Guille.

SymmetricAlgorithm saEnc;

private void btnEncriptar_Click(object sender, System.EventArgs e)

{

byte[] dataorg = Encoding.Default.GetBytes(txtTextoOriginal.Text);

saEnc = SymmetricAlgorithm.Create(cmbAlgoritmos.SelectedItem.ToString());

ICryptoTransform ct = saEnc.CreateEncryptor();

txtKeyGenerado.Text = Encoding.Default.GetString(saEnc.Key);

txtIVGenerado.Text = Encoding.Default.GetString(saEnc.IV);

MemoryStream ms = new MemoryStream();

CryptoStream cs = new CryptoStream(ms,ct,CryptoStreamMode.Write);

cs.Write(dataorg,0,dataorg.Length);

cs.FlushFinalBlock();

txtTextoEncrypado.Text = Encoding.Default.GetString(ms.ToArray());

lblTextoEncLen.Text = txtTextoEncrypado.Text.Length.ToString();

}

private void btnDesencriptar_Click(object sender, System.EventArgs e)

{

SymmetricAlgorithm saDEnc =
SymmetricAlgorithm.Create(cmbAlgoritmos.SelectedItem.ToString());

byte[] textoEncriptado =
Encoding.Default.GetBytes(txtTextoEncrypado.Text);

MemoryStream ms = new MemoryStream(textoEncriptado);

ICryptoTransform cto = saDEnc.CreateDecryptor(saEnc.Key, saEnc.IV);

MemoryStream mso = new MemoryStream();

CryptoStream cso = new CryptoStream(mso,cto,CryptoStreamMode.Write);

cso.Write(ms.ToArray(),0,ms.ToArray().Length);

cso.FlushFinalBlock();

txtTextoDesecriptado.Text = Encoding.Default.GetString(mso.ToArray());

}
 

Leer las respuestas

#1 Carlos
18/02/2006 - 01:52 | Informe spam
¡Ya me funciona!:

Public Function Encriptar(ByVal TextoOriginal As String) As String

Dim algoritmo As String

algoritmo = "3DES"

Dim dataorg As Byte() = Encoding.Default.GetBytes(TextoOriginal)

asEnc = SymmetricAlgorithm.Create(algoritmo)

Dim ct As ICryptoTransform = asEnc.CreateEncryptor()

'MsgBox("Key: " & Encoding.Default.GetString(asEnc.Key))

'MsgBox("IV: " & Encoding.Default.GetString(asEnc.IV))

Dim ms As MemoryStream = New MemoryStream()

Dim cs As CryptoStream = New CryptoStream(ms, ct, CryptoStreamMode.Write)

cs.Write(dataorg, 0, dataorg.Length)

cs.FlushFinalBlock()

Encriptar = Encoding.Default.GetString(ms.ToArray())

End Function

Public Function Desencriptar(ByVal TextoEncriptado As String) As String

Dim algoritmo As String

algoritmo = "3DES"

Dim saDEnc As SymmetricAlgorithm = SymmetricAlgorithm.Create(algoritmo)

Dim te1 As Byte() = Encoding.Default.GetBytes(textoencriptado)

Dim ms As MemoryStream = New MemoryStream(te1)

Dim cto As ICryptoTransform = saDEnc.CreateDecryptor(asEnc.Key, asEnc.IV)

Dim mso As MemoryStream = New MemoryStream()

Dim cso As CryptoStream = New CryptoStream(mso, cto, CryptoStreamMode.Write)

cso.Write(ms.ToArray(), 0, ms.ToArray().Length)

cso.FlushFinalBlock()

Desencriptar = Encoding.Default.GetString(mso.ToArray())

End Function




Había pensado dejar el Key y el IV fijo por codigo ¿hay algún problema?

Un saludo,

Carlos.




"Carlos" escribió en el mensaje
news:Oa9QL%
¿Alguien me puede ayudar a pasar este codigo a VB?

Es un ejemplo de encriptar / desencriptar de la web del Guille.

SymmetricAlgorithm saEnc;

private void btnEncriptar_Click(object sender, System.EventArgs e)

{

byte[] dataorg = Encoding.Default.GetBytes(txtTextoOriginal.Text);

saEnc = SymmetricAlgorithm.Create(cmbAlgoritmos.SelectedItem.ToString());

ICryptoTransform ct = saEnc.CreateEncryptor();

txtKeyGenerado.Text = Encoding.Default.GetString(saEnc.Key);

txtIVGenerado.Text = Encoding.Default.GetString(saEnc.IV);

MemoryStream ms = new MemoryStream();

CryptoStream cs = new CryptoStream(ms,ct,CryptoStreamMode.Write);

cs.Write(dataorg,0,dataorg.Length);

cs.FlushFinalBlock();

txtTextoEncrypado.Text = Encoding.Default.GetString(ms.ToArray());

lblTextoEncLen.Text = txtTextoEncrypado.Text.Length.ToString();

}

private void btnDesencriptar_Click(object sender, System.EventArgs e)

{

SymmetricAlgorithm saDEnc =
SymmetricAlgorithm.Create(cmbAlgoritmos.SelectedItem.ToString());

byte[] textoEncriptado =
Encoding.Default.GetBytes(txtTextoEncrypado.Text);

MemoryStream ms = new MemoryStream(textoEncriptado);

ICryptoTransform cto = saDEnc.CreateDecryptor(saEnc.Key, saEnc.IV);

MemoryStream mso = new MemoryStream();

CryptoStream cso = new CryptoStream(mso,cto,CryptoStreamMode.Write);

cso.Write(ms.ToArray(),0,ms.ToArray().Length);

cso.FlushFinalBlock();

txtTextoDesecriptado.Text = Encoding.Default.GetString(mso.ToArray());

}



Preguntas similares