首页 > 解决方案 > UWP 使用中的 SecureString

问题描述

我试图在内存中保持一些字符串的安全,并在目标为 10240 的 UWP 中安装了 SecureString Nuget 包。使用它非常简单:

SecureString secureStr = new SecureString();
for (int i = 0; i < someString.Length; i++)
{
    secureStr.AppendChar(someString[i]);
}
secureStr.MakeReadOnly();

但为了访问我必须使用的内容:

 IntPtr stringPointer = Marshal.SecureStringToBSTR(secureStringObj);
string normalString = Marshal.PtrToStringBSTR(stringPointer);
Marshal.ZeroFreeBSTR(stringPointer);

但是在 UWP 中 Marshal 类中没有这样的方法SecureStringToBSTR来读取 SecureString 的内容吗?

谢谢!

标签: c#uwpsecurestring

解决方案


您应该能够使用SecureStringMarshal该类来获取指针,然后使用常规Marshal.PtrToStringXXXX方法将其读取为字符串等。


推荐阅读