19/08/2026 MANMOG Version 3.0.12 Se añade rutina EncriptarTexto y DesencriptarTexto
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
<package >
|
||||
<metadata>
|
||||
<id>tsl5</id>
|
||||
<version>3.0.11</version>
|
||||
<version>3.0.12</version>
|
||||
<authors>Tecnosis</authors>
|
||||
<owners>Tecnosis</owners>
|
||||
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
||||
|
||||
@@ -31,15 +31,16 @@ Imports System.Runtime.InteropServices
|
||||
' mediante el asterisco ('*'), como se muestra a continuación:
|
||||
' <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
<Assembly: AssemblyVersion("3.0.11")>
|
||||
<Assembly: AssemblyFileVersion("3.0.1")>
|
||||
<Assembly: AssemblyVersion("3.0.12")>
|
||||
<Assembly: AssemblyFileVersion("3.0.12")>
|
||||
|
||||
|
||||
' 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
|
||||
51
crypt.vb
51
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
|
||||
Reference in New Issue
Block a user