加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何在C#windows窗体应用程序中轻松加密密码?

发布时间:2020-12-15 04:31:40 所属栏目:百科 来源:网络整理
导读:如何轻松地从Textbox.Text中获取密码? .NET框架中是否有一些内置的魔法? 解决方法 我们前一段时间讨论过关于密码的最佳实践,你可能会在那里找到一些好主意: Salting Your Password: Best Practices? 我发现最简单的一个,虽然仍然相当安全,但是使用GUID作
如何轻松地从Textbox.Text中获取密码?

.NET框架中是否有一些内置的魔法?

解决方法

我们前一段时间讨论过关于密码的最佳实践,你可能会在那里找到一些好主意:

Salting Your Password: Best Practices?

我发现最简单的一个,虽然仍然相当安全,但是使用GUID作为你的盐.它是随机的,足够长.如果您包含GUID的字符串格式(‘{‘和’ – ‘字符),则效果最佳,但您不必这样做.

请记住,盐对于每个盐渍物品必须是唯一的,并且为了最安全,您应该使用加密安全随机数生成器.还要记住,您必须将盐与密码一起存储,否则您将无法根据哈希版本检查纯文本版本!如果您愿意,可以存储未加密的盐;我通常将它放在与密码相同的表中的字段中.盐的目的不是保持隐藏,而是让彩虹表难以(希望不可能)及时计算.

这是一个可以在C#中使用的快速代码段:

RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();
byte[] buffer = new byte[1024];

rng.GetBytes(buffer);
string salt = BitConverter.ToString(buffer);
var saltedPassword = password + salt;

要么…

var salt = Guid.NewGuid().ToString();
var saltedPassword = password + salt;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读