Sistema de Gestión de Negocios "Hexa"
Base de datos de conocimiento.
| Doc. Ref. 32002 Título: Los métodos Encr en Hexa V9 Autor: Soltec Última actualización: 17/08/2018#encripta #seguridad |
Los métodos Encr en Hexa V.9
El objeto Encr, de la clase cEncr, agrupa funciones de huellas digitales, cifrado reversible, conversiones hexadecimales y consulta de certificados del usuario. También registra huellas de registros de Hexa en CadenaBloques. Se describen el constructor y los métodos públicos; las operaciones privadas de desplazamiento y mezcla son auxiliares del algoritmo.
Los métodos disponibles son los siguientes:
-
Encr.New()
Constructor de cEncr. Inicializa las tablas de potencias y máscaras utilizadas por las operaciones internas del algoritmo MD5. Se ejecuta al crear una instancia; no es necesario llamarlo sobre el objeto Encr ya creado.
-
Encr.MD5(sMessage)
Calcula la huella MD5 del texto sMessage mediante la implementación de la clase y devuelve su representación hexadecimal. Utiliza la conversión de caracteres Asc del código, no una conversión UTF-8 explícita. La huella no permite recuperar el texto original.
Ejemplo:
Main = Encr.MD5("Texto de prueba") -
Encr.EnDeCrypt(plaintxt, Pwd)
Transforma el texto plaintxt con la clave Pwd mediante el algoritmo RC4 implementado en la clase. La misma operación con la misma clave recupera el texto original. La clave debe contener al menos un carácter. Devuelve una cadena que puede contener caracteres no imprimibles; Asc2Hex permite representarla en hexadecimal.
Ejemplo:
Main = Encr.Asc2Hex(Encr.EnDeCrypt("Texto", "ClaveEjemplo")) -
Encr.EnDeCryptSingle(plainbyte, Pwd)
Aplica la transformación a un solo byte con Pwd y devuelve otro byte. Reinicializa el estado del algoritmo en cada llamada, por lo que transformar sucesivamente los bytes con este método no equivale a EnDeCrypt sobre la cadena completa. La clave no debe estar vacía.
Ejemplo:
Main = Encr.EnDeCryptSingle(65, "ClaveEjemplo")
-
Encr.Asc2Hex(A)
Convierte cada carácter de A en dos dígitos hexadecimales mediante Asc. Sirve para representar el resultado de EnDeCrypt como texto imprimible.
Ejemplo:
Main = Encr.Asc2Hex("ABC") -
Encr.Hex2Asc(H)
Convierte los pares de dígitos hexadecimales de H en caracteres. Si la longitud es impar, no procesa el último dígito. Devuelve cadena vacía ante un error de conversión.
Ejemplo:
Main = Encr.Hex2Asc("414243") -
Encr.GenCla()
Genera una cadena aleatoria de ocho caracteres con dígitos, mayúsculas y minúsculas. Excluye la letra l minúscula y la I mayúscula para evitar confusiones. Utiliza Randomize y Rnd.
Ejemplo:
Main = Encr.GenCla()
-
Encr.Certificados()
Devuelve una lista de los certificados del almacén personal My del usuario actual. Incluye el orden desde uno, titular, nombre descriptivo, emisor, disponibilidad de clave privada, caducidad y número de serie.
Ejemplo:
Main = Encr.Certificados()
-
Encr.CertificadoSN(Orden)
Devuelve el número de serie del certificado situado en Orden dentro del almacén personal del usuario actual. La primera posición es 1. Devuelve "?" si la posición no es válida.
Ejemplo:
Main = Encr.CertificadoSN(1)
-
Encr.CertificadoOrden(NumeroSerie)
Busca NumeroSerie en el almacén personal del usuario actual y devuelve su posición, empezando por 1. Devuelve 0 si no lo encuentra.
Ejemplo:
Main = Encr.CertificadoOrden("NUMERO_DE_SERIE") -
Encr.GeneraHuella(data, secretKey)
Concatena data y secretKey, convierte el resultado a UTF-8 y calcula SHA-256. Devuelve 64 dígitos hexadecimales en minúsculas. La clave se concatena al texto; no utiliza HMAC.
Ejemplo:
Main = Encr.GeneraHuella("Texto", "ClaveEjemplo") -
Encr.CalculaHuellaRegistro(Tabla, Criterio)
Calcula la huella de un registro de Tabla seleccionado por Criterio. Concatena sus campos según el Orden del modelo Campo, excluyendo HuellaCB y HuellaAnteriorCB, y llama a GeneraHuella con la clave fija interna. El criterio debe identificar un solo registro; este método no comprueba esa cantidad.
Ejemplo:
Main = Encr.CalculaHuellaRegistro("Factura", "Prefijo='A' AND Numero=1234") -
Encr.RegistraHuella(Tabla, Criterio)
Comprueba que el criterio identifica un único registro y obtiene sus campos clave del modelo. Introduce en CadenaBloques la huella, identificador del registro, fecha, hora y huella anterior de la misma tabla; después completa la huella de la propia cadena. Devuelve "Registrado" o un mensaje si faltan claves o la cantidad de registros es distinta de uno.
Ejemplo:
Main = Encr.RegistraHuella("Factura", "Prefijo='A' AND Numero=1234") -
Encr.RegistraHuellaCadenaBloques(Huella)
Completa HuellaCB y HuellaAnteriorCB del registro de CadenaBloques identificado por Huella. Calcula la huella del registro y busca la anterior por fecha y hora. Está previsto para utilizarse desde RegistraHuella inmediatamente después del alta. Devuelve "Creado".
