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 >
|
<package >
|
||||||
<metadata>
|
<metadata>
|
||||||
<id>tsl5</id>
|
<id>tsl5</id>
|
||||||
<version>3.0.11</version>
|
<version>3.0.12</version>
|
||||||
<authors>Tecnosis</authors>
|
<authors>Tecnosis</authors>
|
||||||
<owners>Tecnosis</owners>
|
<owners>Tecnosis</owners>
|
||||||
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
||||||
|
|||||||
@@ -31,15 +31,16 @@ Imports System.Runtime.InteropServices
|
|||||||
' mediante el asterisco ('*'), como se muestra a continuación:
|
' mediante el asterisco ('*'), como se muestra a continuación:
|
||||||
' <Assembly: AssemblyVersion("1.0.*")>
|
' <Assembly: AssemblyVersion("1.0.*")>
|
||||||
|
|
||||||
<Assembly: AssemblyVersion("3.0.11")>
|
<Assembly: AssemblyVersion("3.0.12")>
|
||||||
<Assembly: AssemblyFileVersion("3.0.1")>
|
<Assembly: AssemblyFileVersion("3.0.12")>
|
||||||
|
|
||||||
|
|
||||||
' Modificaciones:
|
' Modificaciones:
|
||||||
' ===============
|
' ===============
|
||||||
' 30/07/2027 MANMOG Version 3.0.11 Se establece el parametro pooling a verdadero por defecto
|
' 19/08/2026 MANMOG Version 3.0.12 Se añade rutina EncriptarTexto y DesencriptarTexto
|
||||||
' 09/07/2027 MANMOG Version 3.0.8 Se deshace corrección anterior
|
' 30/07/2026 MANMOG Version 3.0.11 Se establece el parametro pooling a verdadero por defecto
|
||||||
' 30/06/2027 MANMOG Version 3.0.7 Corrección CharConverter
|
' 09/07/2026 MANMOG Version 3.0.8 Se deshace corrección anterior
|
||||||
' 26/06/2027 MANMOG Version 3.0.6 Se añade tsExcepcion
|
' 30/06/2026 MANMOG Version 3.0.7 Corrección CharConverter
|
||||||
' 03/06/2027 MANMOG Version 3.0.5 Correccion en tsNotificacionesClient
|
' 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
|
' 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
|
Next
|
||||||
Return sb.ToString()
|
Return sb.ToString()
|
||||||
End Function
|
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
|
End Class
|
||||||
Reference in New Issue
Block a user