相关疑难解决方法(0)

如何将SecureString转换为System.String?

有关创建以System.String出它不保护你的SecureString的所有预订一边,怎么能做到呢?

如何将普通的System.Security.SecureString转换为System.String?

我相信很多熟悉SecureString的人会回应说,永远不应该将SecureString转换为普通的.NET字符串,因为它会删除所有安全保护. 我知道.但是现在我的程序用普通字符串完成所有操作,我正在尝试增强其安全性,虽然我将使用返回SecureString的API给我,但我并不是想用它来增加我的安全性.

我知道Marshal.SecureStringToBSTR,但我不知道如何取出BSTR并从中制作System.String.

对于那些可能要求知道我为什么要这样做的人,好吧,我正在从用户那里获取密码并将其作为html表单POST提交以将用户登录到网站.所以......这真的必须使用托管的,未加密的缓冲区.如果我甚至可以访问非托管的,未加密的缓冲区,我想我可以在网络流上进行逐字节流写入,并希望这样可以保证密码的安全性.我希望能够回答至少其中一种情况.

.net c# security encryption

147
推荐指数
6
解决办法
9万
查看次数

添加和检索嵌入式资源编码

好吧,我觉得我的问题的答案是在线的,但我找不到它.我要做的就是将一个文本资源文件添加到我正在用CodeDom编译的程序中,然后在编译的程序中访问该文本文件.要添加嵌入式资源,我使用了以下代码:

        System.Resources.ResourceWriter writer = new System.Resources.ResourceWriter("Resources.resx");
        writer.AddResource("EoS.txt", Form1.MasterEncoder.GetBytes(Properties.Resources.Eos));
        writer.Generate();
        writer.Close();
        Parameters.EmbeddedResources.Add("Resources.resx");
Run Code Online (Sandbox Code Playgroud)

这里"参数"是我的编译器参数对象,"Eos.txt"是我正在尝试编写的文件,它是应用程序中的资源.这不会在我构建程序时抛出任何错误,但是当我尝试使用此代码在新编译的程序中获取此文本文件时,我将其添加到表单加载事件中:

         _assembly = Assembly.GetExecutingAssembly();
         _textStreamReader = new StreamReader(_assembly.GetManifestResourceStream("Resources.EoS.txt"));
         TextFile = _textStreamReader.ReadToEnd();
Run Code Online (Sandbox Code Playgroud)

我粗略地得到这个错误:"值不能为null参数名称:stream." 我已经尝试将"资源"更改为程序的命名空间以及许多其他的小调整,但没有任何工作.我不确定我是否在完全错误的轨道上,但我认为我的问题在于CodeDom.有什么建议?

c# resources codedom

5
推荐指数
1
解决办法
1571
查看次数

标签 统计

c# ×2

.net ×1

codedom ×1

encryption ×1

resources ×1

security ×1