问题标签 [securestring]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
724 浏览

wpf - PasswordBox 绑定问题 MVVM

我遇到了密码框绑定的问题。我的应用程序遵循 MVVM。当我试图搜索谷歌以了解如何解决密码框绑定问题时,我发现了两种解决方案 - 1> 使用附加属性 2> 使用安全字符串(http://www.griffinscs.com/blog /?tag=mvvm)。由于第二个选项似乎更安全,我倾向于选择这个选项。但后来我发现我可以使用以下代码在安全字符串中提取实际字符串

现在我有点困惑。请帮助我理解以下问题 1> 使用安全字符串真的比使用字符串更好吗?2> 当我遵循 MVVM 模式并且同时我希望密码字符串是安全的时,以上两者中的哪一个是正确的选择。

0 投票
1 回答
1476 浏览

c# - 来自 .NET 的 CredUIPromptForCredentials 和 SecureString

我想显示标准系统对话框,要求用户输入帐户用户名和密码,以使用此信息启动具有这些凭据的进程。

我已经指出了CredUIPromptForCredentials显示该对话框的功能。它以字符串形式返回用户名和密码。但该ProcessStartInfo结构需要密码为SecureString.

我知道我现在可以将密码用作字符串并将SecureString其逐个字符转换为一个字符(没有单独的函数) - 但它会SecureString完全破坏背后的想法。

所以我想一定有某种方法可以直接接受来自非托管调用的密码,CredUIPromptForCredentials就像SecureString在.NET中一样。毕竟,我真的不需要以任何方式访问我的应用程序中的密码。它只是应该用于启动另一个进程,然后可以尽快被遗忘。

那么我的 P/Invoke 声明CredUIPromptForCredentials看起来SecureString如何?(我从 pinvoke.net 的 C# 开始。)

更新:哦,如果有人有CredUIPromptForWindowsCredentialsWindows Vista/7 中新功能的示例,那也很酷,因为我现在什至不知道如何使用它。

0 投票
0 回答
1469 浏览

ldap - 当不是域成员时,在 Powershell 中传递 SecureStrings 以进行 LDAP 查询

我已经将带有 ConvertFrom-SecureString 的 SecureString 保存到文件中,并且有代码可以提取加密字符串并将其转换回 SecureString。但是,当使用 SecureString 通过 DirectoryServices.DirectorySearcher 对域进行身份验证和查询时,查询会失败并出现登录错误。

我知道加密字符串已正确保存和检索,因为我可以将 SecureString 转换为计划文本并使用它来成功查询。我做错了什么,有没有更好的方法来完成这个查询?提前致谢!

如果我将加密字符串转换为纯文本,那么我可以成功查询我不是其成员的域。

0 投票
0 回答
118 浏览

c# - 可以防止 ASP.NET 在内存中存储请求变量吗?

显然,在 ASP.NET 中使用 SecureString并没有真正意义,因为 ASP.NET 会自动以纯文本形式存储请求参数。但是有没有办法破解 ASP.NET 以使 SecureString 在这种情况下可用?

例如,是否有可能在 ASP.NET 管道有机会将所有请求参数存储在内存中之前做一些事情来挂钩到 ASP.NET 管道?类似于模块的东西,但我猜为时已晚。

0 投票
1 回答
1535 浏览

c# - 使用 Rijndael 解密字符串返回“System.SecureString”(作为字符串)而不是字符串

我正在使用 Rijndael 算法来加密字符串(用户密码),但是当我解密它们时,它返回我“System.SecureString”,而不是我的解密密码。

我正在使用这个基本代码:

真正的问题是它把我送回了“System.SecureString”,而我什么也做不了。

我认为它来自最后的转换,但我真的不知道如何改变它(顺便说一句似乎很好)

因此,如果您有想法或工作代码示例,我很感兴趣。

祝你今天过得愉快

0 投票
1 回答
1911 浏览

c# - MySQL SecureString 作为连接字符串

我有一个关于SecureStringMySql-Connector 的 as 连接字符串的一般性问题。如果我理解正确,SecureStrings这是在我的程序中存储字符串的“安全”方式。现在我有两个问题:

  1. 我必须在安装时读入密码(TextBox这是string不安全的)
  2. 我必须为 MySQL-Connector 建立一个连接字符串string(再次不安全)

例子:

这让我想到了下一个问题:MySQL-Connector API 是“不安全的”,因为所有值都存储为 plaintext string

最后一个问题:有没有使用感SecureString

在我看来,我可以string在我的程序中到处使用。如果涉及到 MySQL,所有类型的加密(在我的程序中)都将毫无用处。

我的观点正确吗?还有其他方法吗?

最好的问候亚历克斯

0 投票
1 回答
126 浏览

security - 将电子邮件 ID 安全地存储在网站的后端

我正在创建一个用户将使用 OpenID 登录的网站。不过,我只会让他们选择 Google、Yahoo 和 AOL。他们将使用他们的 OpenID 提供商的帐户(Google/Yahoo/AOL)登录或注册,在他们被重定向回我的网站后,我会告诉他们“注册成功!”同时,我会将他们的电子邮件 ID 与他们声明的 ID 或 Google 等在 OpenID AX(属性交换)中提供的任何内容存储起来。

现在,由于网站上的一些活动,如评论、查询等,我希望通知用户。为此,我会向他的电子邮件帐户发送邮件,我将从他的 OpenID 注册中获得我的网站。而且我将需要电子邮件 ID 为纯文本(显然),以便向他们发送邮件。但是在数据库中,我想安全地存储电子邮件 ID,足够安全,这样即使有人破解并下载了用户表,他们也无法破译电子邮件 ID。

怎么做?对于 AES 加密等,我需要存储一个密钥。如果后端脚本可以轻松访问将电子邮件 ID 转换为明文的密钥,那么黑客也不能吗?

我只想安全地存储我网站注册用户的电子邮件 ID,并通过电子邮件向他们发送有关通知的信息,但又不会冒着黑客轻松访问他们的电子邮件 ID 的风险。

0 投票
5 回答
8777 浏览

c# - SecureString to Byte[] C#

How would I get a byte[] equivalent of a SecureString (which I get from a PasswordBox)?

My objective is to write these bytes using a CryptoStream to a file, and the Write method of that class takes a byte[] input, so I want to convert the SecureString to the byte[] so I can use in with a CryptoStream.

EDIT: I don't want to use string as it defeats the point of having a SecureString

0 投票
2 回答
10289 浏览

c# - 直接使用 Windows Azure Active Directory 进行身份验证,无需打开 Web 浏览器

我提到了这个问题这个 MSDN 帖子,但无法解决问题。

下面的代码演示了如何使用 Web 浏览器执行 WAAD 身份验证:

这将打开一个浏览器,并要求用户输入可以正常工作的详细信息。

但是,我有一个 GUI 客户端,它可以自己获取用户名/密码/域。因此,其目的是从 GUI 客户端收集详细信息并直接提供给 WAAD 服务器并获得用户身份验证。

怎么做?

仅查看 的重载AcquireToken(),我确实得到了一些线索(这也可能是错误的):

但我不明白,如何创建class ClientCredential(的子类Credential)。需要注意的是,这个类属于namespace Microsoft.WindowsAzure.ActiveDirectory.Authentication.
下面是它的构造函数:

网上搜了一下,没找到答案,我确实得到了这个链接。但是这部分SecureString对我来说又是一个谜。如何使用用户名/密码/域进行通信SecureString

0 投票
1 回答
1335 浏览

c# - 在数据库中存储加密字符串

我需要将 X.509 证书的密码存储在数据库中。但是有一个问题:我不能散列密码,所以我需要以加密形式存储它们。

如果没有明确的加密和解密,我怎么能做到这一点?

另外,是否可以SecureString使用 ADO.NET 存储 a?