Convertir codigo VB a C#
Publicado por César (1 intervención) el 14/07/2010 18:04:17
Hola agradeceria si me pudieran ayudar a convertir este codigo que esta en VB a C# yo ya lo intenten pero no me funciona, agradesco la ayuda.
dim letrasposibles As String
Dim matoper(2, 2) As Integer
Private a As Integer
------------------------------------------------------------------------
Private Function convierte(ByVal palabra) 'Convierta las letras de la contraseña a su equivalente en un numero pero no el ascii
Dim convertido(2) As Integer
a = 0
For Each letra As String In palabra
convertido(a) = InStr(letrasposibles, letra) - 1
a += 1
Next
Return convertido
End Function
-----------------------------------------------------------------------------
Function encripta(ByVal palabra As String) As String
Dim vecletra(2), vec_cod(2) As Integer
Dim i, j, tope, cuenta, cuenta1 As Integer
Dim strtemp, restemp As String
matoper(0, 0) = 5
matoper(0, 1) = 17
matoper(0, 2) = 20
matoper(1, 0) = 9
matoper(1, 1) = 23
matoper(1, 2) = 3
matoper(2, 0) = 2
matoper(2, 1) = 11
matoper(2, 2) = 13
i = 0
j = 3
restemp = ""
tope = palabra.Length
If (tope Mod 3 = 0) Then
Do While i < tope
strtemp = palabra.Substring(i, j)
i += 3
vecletra = convierte(strtemp)
For cuenta1 = 0 To 2
vec_cod(cuenta1) = 0
Next
For cuenta = 0 To 2
For cuenta1 = 0 To 2
vec_cod(cuenta) = vec_cod(cuenta) + (matoper(cuenta, cuenta1) * vecletra(cuenta1))
Next
vec_cod(cuenta) = vec_cod(cuenta) Mod 26
restemp = restemp + letrasposibles(vec_cod(cuenta))
Next
Loop
Else
MsgBox("La contraseña está mal escrita, la cantidad de letras en la contraseña debe ser un multiplo de 3", MsgBoxStyle.Information, "Contraseña incorrecta")
restemp = "error"
npass = True
End If
Return restemp
End Function
---------------------------------------------------------------------------
Private Sub LoginForm1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim a As Integer
letrasposibles = ""
For a = 65 To 90
letrasposibles = letrasposibles + Chr(a)
Next
End Sub
dim letrasposibles As String
Dim matoper(2, 2) As Integer
Private a As Integer
------------------------------------------------------------------------
Private Function convierte(ByVal palabra) 'Convierta las letras de la contraseña a su equivalente en un numero pero no el ascii
Dim convertido(2) As Integer
a = 0
For Each letra As String In palabra
convertido(a) = InStr(letrasposibles, letra) - 1
a += 1
Next
Return convertido
End Function
-----------------------------------------------------------------------------
Function encripta(ByVal palabra As String) As String
Dim vecletra(2), vec_cod(2) As Integer
Dim i, j, tope, cuenta, cuenta1 As Integer
Dim strtemp, restemp As String
matoper(0, 0) = 5
matoper(0, 1) = 17
matoper(0, 2) = 20
matoper(1, 0) = 9
matoper(1, 1) = 23
matoper(1, 2) = 3
matoper(2, 0) = 2
matoper(2, 1) = 11
matoper(2, 2) = 13
i = 0
j = 3
restemp = ""
tope = palabra.Length
If (tope Mod 3 = 0) Then
Do While i < tope
strtemp = palabra.Substring(i, j)
i += 3
vecletra = convierte(strtemp)
For cuenta1 = 0 To 2
vec_cod(cuenta1) = 0
Next
For cuenta = 0 To 2
For cuenta1 = 0 To 2
vec_cod(cuenta) = vec_cod(cuenta) + (matoper(cuenta, cuenta1) * vecletra(cuenta1))
Next
vec_cod(cuenta) = vec_cod(cuenta) Mod 26
restemp = restemp + letrasposibles(vec_cod(cuenta))
Next
Loop
Else
MsgBox("La contraseña está mal escrita, la cantidad de letras en la contraseña debe ser un multiplo de 3", MsgBoxStyle.Information, "Contraseña incorrecta")
restemp = "error"
npass = True
End If
Return restemp
End Function
---------------------------------------------------------------------------
Private Sub LoginForm1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim a As Integer
letrasposibles = ""
For a = 65 To 90
letrasposibles = letrasposibles + Chr(a)
Next
End Sub
Valora esta pregunta


0