【发布时间】:2011-04-26 13:38:46
【问题描述】:
我认为这会简单得多,但此时我很困惑,根本没有进展。
基本上,我需要能够在 WPF 应用程序中接受用户的密码,对其进行加密,然后将其存储在数据库中,以便稍后解密。但是我不确定如何实现这一点。
这完全是微不足道的,所以它是否安全并不重要。我所需要的只是让它开始工作,只是我不确定该怎么做。我尝试过使用 DESCryptoServiceProvider(),但没有得到任何结果。
需要明确的是,我该如何将简单密码转换为已加密的密码并将其存储在数据库中(以及我将其存储在哪些字段中)。在这一点上,如果只有一个键并且在源代码中定义了该键,我很高兴。
有什么建议吗?
编辑:为了进一步澄清,我不能“编码”。出于本练习的目的,它必须被加密(即它需要生成一个密钥)。我相信 SHA 是一种编码算法,而不是加密。
【问题讨论】:
-
你真的是说你以后需要解密密码吗?还是您的意思是您需要存储加密密码,然后将其与另一个加密密码进行比较?您是否需要能够从数据库中读取原始密码?
-
是的,我的错。我只需要比较两者。
-
那么,不叫加密,是散列
-
你似乎很困惑。你说你只需要比较,但你也说你需要加密而不是编码。 SHA 和其他哈希算法正是您比较两个密码所需要的(无需存储密码)。您只需使用散列函数对密码进行编码,并将其与您之前散列并存储的密码的散列进行比较。那里不需要加密/解密密码,你不需要密码本身来比较。
-
如果你真的,真的,想要加密/解密密码,看看这个dijksterhuis.org/encrypting-decrypting-string,它将告诉你如何加密/解密一些文本(即你想要的密码加密/解密)使用密码(密码是您的“密钥”)。
标签: .net sql-server vb.net encryption passwords