bytData Ing.
Erick Muñoz Alvarez, MBA
Criptografía
TEC
Imagen Final de la Solución Excel
Visual Basic Habilitar la cinta de programación VB
Habilitar en la cinta de opciones la opción de programador.
Con un doble click podes abrir Microsoft Basic para Aplicaciones.
Agregar un botón para poder trabajar con la opción click.
Para guardar el Excel y mantener las macros se seleccionar en tipo: (“Libro de Excel habilitado para macros”).
Asignación de las macros, sino están asignadas da la sensación de no procesamiento.
Referencias Excel
Laboratorios anteriores.
Función en VBA VBA
Function fncEncDes(ByVal strMsg As String) As String
'Este valor de llave puede alterar la encripcion pero debe ser el mismo para ambos 'encriptado y desencriptado.
Const KEY_TEXT As String = "ElEncriptadoFunciona"
'El KEY_OFFSET es opcional y podría ser cualquiera.
'Valor 0-64.
'De la misma forma tiene que ser el mismo ingreso/salida
Const KEY_OFFSET As Long = 38
Dim bytKey() As Byte
Dim bytData() As Byte
Dim lNum As Long
Dim strKey As String
For lNum = 1 To ((Len(strMsg) \ Len(KEY_TEXT)) + 1)
strKey = strKey & KEY_TEXT
Next lNum
bytKey = Left$(strKey, Len(strMsg))
bytData = strMsg
For lNum = LBound(bytData) To UBound(bytData)
If lNum Mod 2 Then
bytData(lNum) = bytData(lNum) Xor (bytKey(lNum) _
+ KEY_OFFSET)
Else
bytData(lNum) = bytData(lNum) Xor (bytKey(lNum) _
- KEY_OFFSET)
End If
Next lNum
fncEncDes = bytData
End Function
Page |1
bytData Ing. Erick Muñoz Alvarez, MBA
Criptografía
TEC
Encriptar Lógica
Sub Encriptar_bytData()
Dim strTest As String
strTest = Cells(2, 3)
'Utilizando la función encripta
strTest = fncEncDes(strTest)
Cells(3, 3) = strTest
End Sub
Desencriptar Lógica
Dim strTest As String
strTest = Cells(3, 3)
'Utilizando la función igualmente desencripta.
strTest = fncEncDes(strTest)
Cells(4, 3) = strTest
Limpiar Lógica
Cells(3, 3) = ""
Cells(4, 3) = ""
Page |2