From bc9ee182594d224bfb4f912994d5216756798316 Mon Sep 17 00:00:00 2001 From: manuel Date: Wed, 19 Aug 2026 17:45:59 +0200 Subject: [PATCH] =?UTF-8?q?19/08/2026=20=20MANMOG=20=20Version=203.0.12=20?= =?UTF-8?q?=20=20=20Se=20a=C3=B1ade=20rutina=20EncriptarTexto=20y=20Desenc?= =?UTF-8?q?riptarTexto?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Baget/Aplicacion.nuspec | 2 +- My Project/AssemblyInfo.vb | 15 +++++------ crypt.vb | 51 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 60 insertions(+), 8 deletions(-) diff --git a/Baget/Aplicacion.nuspec b/Baget/Aplicacion.nuspec index 830df63..dd86005 100644 --- a/Baget/Aplicacion.nuspec +++ b/Baget/Aplicacion.nuspec @@ -2,7 +2,7 @@ tsl5 - 3.0.11 + 3.0.12 Tecnosis Tecnosis false diff --git a/My Project/AssemblyInfo.vb b/My Project/AssemblyInfo.vb index 206fde0..8b14c85 100644 --- a/My Project/AssemblyInfo.vb +++ b/My Project/AssemblyInfo.vb @@ -31,15 +31,16 @@ Imports System.Runtime.InteropServices ' mediante el asterisco ('*'), como se muestra a continuación: ' - - + + ' Modificaciones: ' =============== -' 30/07/2027 MANMOG Version 3.0.11 Se establece el parametro pooling a verdadero por defecto -' 09/07/2027 MANMOG Version 3.0.8 Se deshace corrección anterior -' 30/06/2027 MANMOG Version 3.0.7 Corrección CharConverter -' 26/06/2027 MANMOG Version 3.0.6 Se añade tsExcepcion -' 03/06/2027 MANMOG Version 3.0.5 Correccion en tsNotificacionesClient +' 19/08/2026 MANMOG Version 3.0.12 Se añade rutina EncriptarTexto y DesencriptarTexto +' 30/07/2026 MANMOG Version 3.0.11 Se establece el parametro pooling a verdadero por defecto +' 09/07/2026 MANMOG Version 3.0.8 Se deshace corrección anterior +' 30/06/2026 MANMOG Version 3.0.7 Corrección CharConverter +' 26/06/2026 MANMOG Version 3.0.6 Se añade tsExcepcion +' 03/06/2026 MANMOG Version 3.0.5 Correccion en tsNotificacionesClient ' 14/05/2026 MANMOG Version 3.0.4 Actualización de .nuspec para que incluya dependencias externas \ No newline at end of file diff --git a/crypt.vb b/crypt.vb index c2d53fa..207757e 100644 --- a/crypt.vb +++ b/crypt.vb @@ -582,4 +582,55 @@ Public Class crypt Next Return sb.ToString() End Function + + Public Shared Function EncriptarTexto(Texto As String, password As String) As String + Dim key As Byte() = GetKey(password) + Dim aes As Aes = Aes.Create() + aes.Key = key + aes.Mode = CipherMode.CBC + aes.Padding = PaddingMode.PKCS7 + aes.GenerateIV() + + Dim iv As Byte() = aes.IV + Dim encryptor = aes.CreateEncryptor() + + Dim plainBytes = Encoding.UTF8.GetBytes(Texto) + Dim ms As New MemoryStream() + ms.Write(iv, 0, iv.Length) ' Guardamos el IV al principio + Using cs As New CryptoStream(ms, encryptor, CryptoStreamMode.Write) + cs.Write(plainBytes, 0, plainBytes.Length) + cs.FlushFinalBlock() + End Using + + Return Convert.ToBase64String(ms.ToArray()) + End Function + Public Shared Function DesencriptarTexto(Texto As String, password As String) As String + Dim fullCipher = Convert.FromBase64String(Texto) + Dim key As Byte() = GetKey(password) + + Dim aes As Aes = Aes.Create() + + aes.Key = key + aes.Mode = CipherMode.CBC + aes.Padding = PaddingMode.PKCS7 + + Dim iv(15) As Byte + Array.Copy(fullCipher, iv, iv.Length) + aes.IV = iv + + Dim decryptor = aes.CreateDecryptor() + Dim ms As New MemoryStream() + Using cs As New CryptoStream(ms, decryptor, CryptoStreamMode.Write) + cs.Write(fullCipher, iv.Length, fullCipher.Length - iv.Length) + cs.FlushFinalBlock() + End Using + + Return Encoding.UTF8.GetString(ms.ToArray()) + End Function + Private Shared Function GetKey(password As String) As Byte() + Using sha256 As SHA256 = SHA256.Create() + Return sha256.ComputeHash(Encoding.UTF8.GetBytes(password)) + End Using + End Function + End Class \ No newline at end of file