Tag: 加密

加密和解密密码的最佳做法? (C#/。NET)

我需要在(最好是文本)文件中存储和加密密码,以后我需要能够解密。 密码用于我使用的其他服务,需要以明文forms(通过SSL)发送。 这不是我可以改变的。 这方面的最佳做法是什么? 如何从恶意用户那里获得一定程度的密码保护? 我的平台是带有C#/ .NET 3.5的WinForms。 谢谢。

C# – 如何计算特定哈希算法的ASN.1 DER编码?

给定一个像SHA1或SHA256这样的哈希算法,我将如何获得RFC3447中定义的ASN.1 DER编码? (参见第42页 – 链接 )以下是所需的输出。 MD5 30 20 30 0c 06 08 2a 86 48 86 f7 0d 02 05 05 00 04 10 SHA-1 30 21 30 09 06 05 2b 0e 03 02 1a 05 00 04 14 SHA-256 30 31 30 0d 06 09 60 86 48 01 65 03 04 […]

Windows中公钥和私钥的容器位置?

我试图使用以下代码将我的公钥和私钥存储在容器中: CspParameters cp = new CspParameters(); cp.KeyContainerName = “Test”; RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(cp); 我想知道的是容器的位置。 容器在文件系统中的位置是什么?

存储盐以及散列密码的安全性如何

如果您查看了asp.net成员系统的表模式,他们会存储原始密码的哈希值以及用于生成密码的盐。 看下面的架构, dbo.aspnet_Membership ApplicationId UserId Password PasswordFormat PasswordSalt MobilePIN Email . . . 如果攻击者掌握了数据库,他是否更容易从盐中打开原始密码并散列密码? 在查看一些记录之后,似乎为每个密码生成了新的盐。 这有什么意义? 您会在代码中推荐这样的方法,还是硬代码常量盐 有关 如果攻击者知道盐是否对安全无用?

字符串使用密码c#Metro Style加密/解密

我想用密码加密和解密字符串。 我使用C#和WinRT(MetroStyle)。 有人加密/解密吗?

加密ASP.NET连接字符串的正确方法是什么?

我一直在查看ASP.NET MVC应用程序(.NET 4.0)中加密connectionStrings(Web.config)的几个示例,似乎有两种通用方法可以实现它( 示例1和相关示例2 ): 使用aspnet_regiis工具。 使用aspnet_regiis的主要问题是我可以在本地(在我的开发机器上)运行该工具,但该网站实际上托管在Arvixe上,就像任何其他Web主机一样:无法在服务器上运行命令。 据我所知,如果我在我的机器上加密Web.config connectionStrings并发布Web.config,那么它们就无法在服务器上解密(如果这是错误的,请纠正我)。 注意:我只使用了RSAProtectedConfigurationProvider ,但我认为DataProtectionConfigurationProvider会有相同的问题,因为它是用户/机器特定的。 以编程方式加密连接字符串。 以编程方式加密connectionStrings也有一个缺点:每次我发布我的网站时都会更新Web.config(使用未加密的connectionStrings),这意味着在一段时间内Web.config将不会被加密。 即使我确保只在发生更改时发布Web.config,问题可能会最小化但不会减轻。 我认为使用静态类可以进一步帮助减少connectionStrings未加密的时间。 不幸的是,加密connectionStrings需要应用程序路径,似乎获取应用程序路径的唯一方法是来自请求( Request.ApplicationPath ),而在静态类中,(显然)没有请求。 private void ProtectSection(string sectionName, string provider) { Configuration config = WebConfigurationManager. OpenWebConfiguration(Request.ApplicationPath); ConfigurationSection section = config.GetSection(sectionName); if (section != null && !section.SectionInformation.IsProtected) { section.SectionInformation.ProtectSection(provider); config.Save(); } } private void UnProtectSection(string sectionName) { Configuration config = WebConfigurationManager. OpenWebConfiguration(Request.ApplicationPath); […]

如何存储用于加密文件的密钥

我正在玩一个应用程序将文件备份到“云”:)我想在存储之前加密文件。 我已经介绍过这部分,但是由于这个应用程序将监视文件夹以进行更改并上传更改的文件,我需要存储用于加密文件的密钥。 想法是用户提供密码并生成密钥。 目前我正在使用.NET Framework进行加密。 我正在使用RijndaelManaged类来加密/解密,而使用PasswordDeriveBytes类来获取密钥。 但是,我应该如何保留用于加密文件的密钥? 我也希望程序从Windows开始,而不需要让用户再次输入密码。

如何在.NET中使用CNG(或AES-NI启用的指令集)?

我目前使用AES在c#中执行大量文本加密/解密。 使用纯软件系统,对于需要解密的大量数据集,可能需要相当长的处理器才能获得相当长的时间。 我知道英特尔已经推出了他们的AES-NI指令集,AMD已经推出了类似的产品。 我正在使用.NET 4.0,我知道windows CNG框架使用了这些指令集,但似乎.NET世界中的AesManaged没有这样做。 有一个梦幻般的项目“ CLR安全 ”,它建立了从.NET 3.5到Windows CNG的网关,但它没有在一年内维护,我宁愿不(如果可能的话)跳上一个垂死的项目。 在.NET 4中有一个CNGProvider类,但似乎没有足够的文档可以将AES的工作解密拼凑在一起。 有没有人有这方面的经验,他们可以指出我在正确的方向上如何在纯.NET环境中使用预先制作的类实现AES-NI,而无需直接从c#进行ap / inv? (如果有一个包装器类,只要它被维护就可以了)。

带SHA256的SignedXml计算签名

我正在尝试使用SHA256对XML文档进行数字签名。 我正在尝试使用Security.Cryptography.dll 。 这是我的代码 – CryptoConfig.AddAlgorithm(typeof(RSAPKCS1SHA256SignatureDescription),”http://www.w3.org/2001/04/xmldsig-more#rsa-sha256″); X509Certificate2 cert = new X509Certificate2(@”location of pks file”, “password”); XmlDocument doc = new XmlDocument(); doc.PreserveWhitespace = true; doc.Load(@”input.xml”); SignedXml signedXml = new SignedXml(doc); signedXml.SigningKey = cert.PrivateKey; signedXml.SignedInfo.SignatureMethod = “http://www.w3.org/2001/04/xmldsig-more#rsa-sha256”; // // Add a signing reference, the uri is empty and so the whole document // is signed. Reference reference […]

在C#中使用MD5CryptoServiceProvider存储密码是否安全?

我们将散列密码存储在数据库表中。 我们使用MD5CryptoServiceProvider为每个密码添加随机salt值和哈希值。 这样安全吗? 我听说MD5“坏了”。 如果没有,您能推荐使用备用哈希方法(特定的.NET框架类)吗?