Backend/e-suite.WorkBench/eSuite.WorkBench/Helpers/SecureStringDecoder.cs
2026-01-20 21:50:10 +00:00

30 lines
700 B
C#

using System;
using System.Runtime.InteropServices;
using System.Security;
namespace eSuite.WorkBench.Helpers
{
public class SecureStringDecoder : IDisposable
{
private readonly SecureString _secureString;
IntPtr intPtr = IntPtr.Zero;
public SecureStringDecoder(SecureString secureString)
{
_secureString = secureString;
intPtr = Marshal.SecureStringToGlobalAllocUnicode(_secureString);
}
public string DecodeString()
{
return Marshal.PtrToStringUni(intPtr);
}
public void Dispose()
{
Marshal.ZeroFreeGlobalAllocUnicode(intPtr);
}
}
}