相关疑难解决方法(0)

101
推荐指数
9
解决办法
12万
查看次数

C#SecureString问题

有没有办法在不包含安全性的情况下获取SecureString的值?例如,在下面的代码中,只要执行PtrToStringBSTR,字符串就不再安全,因为字符串是不可变的,垃圾收集对于字符串是不确定的.

IntPtr ptr = Marshal.SecureStringToBSTR(SecureString object);
string value = Marshal.PtrToStringBSTR(ptr);
Run Code Online (Sandbox Code Playgroud)

如果有一种方法可以获得非托管BSTR字符串的char []或byte [],该怎么办?这是否意味着垃圾收集更可预测(因为你将使用char []或byte []而不是字符串?这个假设是正确的,如果是这样,你将如何得到char []或byte []?

.net c# securestring

25
推荐指数
3
解决办法
1万
查看次数

是枚举所需的string.ToCharArray()吗?

为什么在地球上有人会在枚举字符之前将字符串转换为char []?初始化在网络周围找到的System.Security.SecureString的常规模式如下:

SecureString secureString = new SecureString();
foreach (char c in "fizzbuzz".ToCharArray())
{
    secureString.AppendChar(c);
}
Run Code Online (Sandbox Code Playgroud)

调用ToCharArray()对我来说毫无意义.有人能告诉我这里是不是错了吗?

c# enumeration securestring

2
推荐指数
1
解决办法
561
查看次数

标签 统计

c# ×3

securestring ×3

.net ×2

enumeration ×1

security ×1