c# - 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 的内容吗?
谢谢!
解决方案
您应该能够使用SecureStringMarshal
该类来获取指针,然后使用常规Marshal.PtrToStringXXXX
方法将其读取为字符串等。
推荐阅读
- javascript - lodash debounce & ES6 类 - 这个。不是函数
- mysql-workbench - MySQL Error 1136:Column count does not match value count at row 1?
- node.js - Jimp 将图像写入谷歌云存储节点 js
- python-3.x - Specifying gpus in keras backend without CUDA_VISIBLE
- c# - 可以使用 Mono 运行程序,但不能使用 Visual Studio Mac
- graphql - 如何对查询中的嵌套字段进行排序?
- ruby-on-rails - 如何修复“请运行rails webpacker:安装错误:没有这样的文件或目录@rb_sysopen”?
- ruby-on-rails - 可以共享组件的多个 reactjs 应用程序
- phalcon - 编译 phalcon - 需要 2GB,我有 0.5GB,小型 vps 有解决方法吗?
- javascript - 如果 Cucumber JS 中包含失败,则跳过功能文件