Logo_Access_global_380x114Favicon_Access_global_180x180Logo_Access_global_380x114Logo_Access_global_380x114
  • Home
  • University
    • Destellos formativos
  • Labs
  • TV
  • Secciones
    • El mundo de Access
    • Explorando VBA
      • Artículos sobre VBA
      • Un trocito de código
    • Entrevistas
      • Profesionales de Access
    • El rincón de Excel
    • Bases de datos
      • MS SQL
      • MySQL
      • postgreSQL
      • SQLite
    • Clases magistrales
    • Utilidades hechas con Access
  • Access en el mundo
  • ¿Quiénes somos?
  • Cómo colaborar
  • Eventos
✕
            No hay resultados Mostrar todos los resultados
            Evento
            Dim WithEvents
            13/12/2021
            Sencillo sistema de gestión documental
            15/12/2021
            Mostrar todos

            Encriptar una cadena de texto

            Publicado por José Bengoechea
            Categorías
            • Un trocito de código
            Etiquetas
            • Access
            • Ángel Gil
            • Encriptar
            • VBA

            Esta función permite encriptar y desencriptar una cadena de texto usando el método Rot13.


            Texto original: Angel Gil


            Nivel: Principante

            ¿Cómo funciona?
            EXPLICACIÓN DEL FUNCIONAMIENTO
            En ocasiones necesitamos encriptar la información de algún campo y guardarlo en la tabla de forma que sea ilegible para el que acceda a él directamente. Esta función precisamente se encarga tanto de encriptar el texto que se le pasa como argumento como de desencriptarlo.

            Código:
            Function CodRot13(CadenaEnviada As String)
            '---------------------------------------------------------------------------------------
            Fuente            : https://access-global.net/encriptar-una-cadena-de-texto
            '---------------------------------------------------------------------------------------
            ' Título            : Encriptar cadena de texto
            ' Autor original    : Desconocido
            ' Adaptado por      : Ángel Gil
            ' Actualizado       : 12/03/2002
            ' Propósito         : Encriptar o desencriptar una cadena de texto enviada como parámetro
            ' Retorno           : String 
            '---------------------------------------------------------------------------------------
            Function CodRot13(CadenaEnviada As String)
                Dim strAlfabeto As String
                Dim intLongitudCadena As Integer
                Dim intContador As Integer
                Dim strCaracterBuscar As String
                Dim intPosicionCaracter As Integer
                Dim strCadenaSalida As String
            
                strAlfabeto = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
                intLongitudCadena = Len(CadenaEnviada)
                For intContador = 1 To intLongitudCadena
                    strCaracterBuscar = Mid(CadenaEnviada, intContador, 1)
            
                    '---- Posición que ocupa el caracter dentro del abecedario  ----'
            
                    intPosicionCaracter = InStr(1, strAlfabeto, strCaracterBuscar, 1)
            
                    '----Hay que rotar el caracter 13 veces hacia la izquierda-----'
            
                    If intPosicionCaracter < 14 Then
                        intPosicionCaracter = intPosicionCaracter + 13
                    Else
                        intPosicionCaracter = intPosicionCaracter - 13
                    End If
             
                    Select Case strCaracterBuscar
                        Case "A" To "Z"
                            strCadenaSalida = strCadenaSalida & Mid(strAlfabeto, intPosicionCaracter, 1)
                        Case "a" To "z"
                            strCadenaSalida = strCadenaSalida & LCase(Mid(strAlfabeto, intPosicionCaracter, 1))
            
                            'La eñe y vocales acentuadas así como los caracteres especiales y números no se codifican
                            'se dejan “tal cual”
                        Case Else
                            strCadenaSalida = strCadenaSalida & strCaracterBuscar
                    End Select
                Next
            
                CodRot13 = strCadenaSalida
            
            End Function
            '---------------------------------------------------------------------------------------
            Function DecryptText(Fuente As String) As String
                Dim strDestino As String
                Dim intContador As Integer
                Dim intLongFuente As Integer
                
                strDestino = Fuente
                intLongFuente = Len(Fuente) + 1
                
                For intContador = 1 To Len(strDestino)
                    Mid$(strDestino, intLongFuente - intContador, 1) = Chr$((30 + intContador - Asc(Mid$(Fuente, intContador, 1))) And 255)
                Next intContador
                
                DecryptText = strDestino
            End Function
            
            '---------------------------------------------------------------------------------------
            Function EncryptText(Fuente As String) As String
                Dim strDestino As String
                Dim intContador As Integer
                Dim intLongFuente As Integer
                
                strDestino = Fuente
                intLongFuente = Len(Fuente) + 1
                
                For intContador = 1 To Len(strDestino)
                    Mid$(strDestino, intContador, 1) = Chr$((30 + intContador - Asc(Mid(Fuente, intLongFuente - intContador, 1))) And 255)
                Next intContador
                
                EncryptText = strDestino
            End Function
            Ver en el repositorio
            Compartir
            0
            José Bengoechea
            José Bengoechea

            Entradas relacionadas

            19/03/2023

            Función que convierte cualquier carácter a texto puramente ASCII (Access VBA)


            Leer más
            24/03/2022

            Obtener la fecha del primer día de la semana o último día de la semana en Access VBA


            Leer más
            11/03/2022

            Actualizar una conexión ODBC en tiempo de ejecución


            Leer más

            Comments are closed.

            ETIQUETAS

            Access API BD Botones ComboBox Consultas CountOfLines CStr Diseño DoCmd Excel Exportar Fecha FileSystemObject Filtros For Each...Next Formulario Formularios Funciones Funciones de dominio GetFolder GetWindowRect Google maps Informes InStr Kill Left Listbox Mid Módulos Node ProcCountLines Procedimientos ProcOfLine References Replace Ribbon RunCommand Seguridad Split SysCmd Tablas TreeView VBA VBIDE

            ÚLTIMAS ENTRADAS

            • 0
              Tratamiento de errores: compilación condicional
              30/03/2023
            • 0
              Tratamiento de errores: errores personalizados
              29/03/2023

            ¿QUIERES PUBLICITAR TU EMPRESA AQUÍ?

            SUSCRÍBETE A NUESTRO
            NEWSLETTER

            Recibirás información puntual sobre el mundo de Access y VBA

            ¡Próximamente!

            Promovemos el uso de Access y de la programación en VBA en todo el mundo

            Centro de conocimiento


            Toda la sabiduría de los mejores programadores de Access y VBA a tu alcance.

            Legal

            Política de privacidad

            Condiciones de uso

            Condiciones del redactor

            ®Access Global 2021 | All right reserved
                      No hay resultados Mostrar todos los resultados