我想在注册表中存储一个System.SecureString。那可能吗?我将如何着手去做?下次运行时我的程序是否能够再次解密字符串? 最佳答案 如果没有辅助层,就不可能以加密形式进行操作。它本身不支持任何形式的序列化,实际上甚至无法以其原生形式进行检查。要从中获取任何信息,您需要通过PInvoke或SecureStringToBSTRAPI。这两者都可以让您以未加密的形式访问string。我可以看到这个工作的一种方式是通过SecureStringToBSTR将SecureString转换为BSTR加密BSTR将结果存储在注册表中当然
升级到powershell3.0后,现有脚本因错误而停止工作ConvertTo-SecureString:Theterm'ConvertTo-SecureString'isnotrecognizedasthenameofacmdlet,function,scriptfile,oroperableprogram.Checkthespellingofthename,orifapathwasincluded,verifythatthepathiscorrectandtryagain.Atline:1char:1+ConvertTo-SecureString+~~~~~~~~~~~~~~~~~
我有一个Powershell脚本,它使用作为安全字符串存储在文件中的密码运行了几个月。当我今天去运行脚本时,我开始收到“key在指定状态下无效”。该脚本由事件目录域帐户运行的计划任务调用。该帐户没有更改,我知道的唯一事件是服务器重新启动。什么可能导致此问题发生?再次将我的数据转换回安全字符串解决了这个问题,但我很困惑为什么首先会发生这种情况。我通过以下方式创建密码文件:Write-Host"Pleaseenterthefilenamewhereyou'dliketostorethepassword:"$passwordFile=Read-HostWrite-Host"Pleaseent
我的应用程序使用RijndaelManaged类来加密数据。作为此加密的一部分,我使用了一个加载了密码的SecureString对象,该对象在运行时被转换为字节数组并加载到RajindaelManaged对象的key中。我的问题是这个SecureString的存储。用户输入的密码可以在运行时输入,并且可以“安全地”加载到SecureString对象中,但是如果没有给出用户输入的密码,那么我需要默认一些东西。所以最终问题归结为:如果每次我的应用程序运行时我都必须将一些已知的字符串或字节数组加载到SecureString对象中,我该怎么做?“加密”数据最终会被另一个应用程序解密,因此即使没
首先,在Win7/Win8等系统上执行代码没有问题,问题只存在于WindowsXP上。代码在一个按钮中,基本上运行taskmgr.exe作为另一个用户凭据(本地管理员凭据,这是一个KioskPC,它加载一个可以登录的C#应用程序,然后加载cmd.exe/taskmgr.exe作为不受链接到Kiosk用户的GPO影响的本地管理员)。但是,在XP上,单击按钮时出现错误:stub接收到错误数据。代码:privatevoidbtnTaskMgr_Click(objectsender,EventArgse){stringpassword="myPassword";SecureStringsecu
这是我目前的情况-我有一个使用CodeDom将C#代码编译为字符串的应用程序。我有一个存储密码的SecureString,我想知道是否有任何方法可以将该SecureString变量作为SecureString传递到编译代码中?下面是一些示例代码:SecureStringsecurePassword=getSecurePass();stringcodeString=@"usingSystem;usingSystem.Security;namespaceSomeProgram{classMyClass{staticvoidMain(string[]args){SecureStringsec
所以有这个类似乎很少使用:SecureString.它至少从2.0开始就存在,并且有一些关于它的问题,但我想我会问我自己的具体问题:我有一个登录表单;带有用户名和(屏蔽的)密码字段的简单WinForms对话框。当用户输入两者并单击“登录”时,信息被传递给注入(inject)的身份验证类,该类进行一层key拉伸(stretch),然后对拉伸(stretch)key的一半进行散列以进行验证,而另一半是加密用户的对称key帐户数据。当这一切都完成后,loginForm关闭,验证器类被释放,系统继续加载主窗体。相当标准的东西,可能比标准的哈希密码和比较复杂一点,但在我的情况下,通过以明文形式存
所以有这个类似乎很少使用:SecureString.它至少从2.0开始就存在,并且有一些关于它的问题,但我想我会问我自己的具体问题:我有一个登录表单;带有用户名和(屏蔽的)密码字段的简单WinForms对话框。当用户输入两者并单击“登录”时,信息被传递给注入(inject)的身份验证类,该类进行一层key拉伸(stretch),然后对拉伸(stretch)key的一半进行散列以进行验证,而另一半是加密用户的对称key帐户数据。当这一切都完成后,loginForm关闭,验证器类被释放,系统继续加载主窗体。相当标准的东西,可能比标准的哈希密码和比较复杂一点,但在我的情况下,通过以明文形式存
我见过的所有示例最终都会在使用SecureString之前将其转换回标准字符串,从而破坏对象。在没有这个问题的情况下使用安全字符串的好方法是什么?我知道我可以将SecureString编码到BSTR,但我可以用这个BSTR做什么?我可以一次取回一个字符吗?如果是,怎么办? 最佳答案 此链接包含很多有用的信息,包括如何获取非托管内存块以将字符串传递给native代码(这可能也是安全的)、使用它的BCL类以及指向几个示例的链接:http://bartdesmet.net/blogs/bart/archive/2006/03/31/385
我见过的所有示例最终都会在使用SecureString之前将其转换回标准字符串,从而破坏对象。在没有这个问题的情况下使用安全字符串的好方法是什么?我知道我可以将SecureString编码到BSTR,但我可以用这个BSTR做什么?我可以一次取回一个字符吗?如果是,怎么办? 最佳答案 此链接包含很多有用的信息,包括如何获取非托管内存块以将字符串传递给native代码(这可能也是安全的)、使用它的BCL类以及指向几个示例的链接:http://bartdesmet.net/blogs/bart/archive/2006/03/31/385