首页 > 解决方案 > ASP.NET MVC 5 - Konscious Security Argon2 GetBytes 方法挂起

问题描述

当我运行我的 MVC 应用程序时,Argon2(i) GetBytes 方法没有完成而是挂起,原因我不知道。我已经设置了断点以确保将正确的参数传递给方法,情况就是这样,但是当我执行 GetBytes 方法时:

var hash = argon2pass.GetBytes(64);

应用程序挂起并且该行永远不会执行。

标签: c#asp.net-mvc-5

解决方案


在GitHub 上的已关闭问题中找到解决方案

沃特詹森

我遇到了同样的问题,代码会锁定并且永远不会返回哈希值。

一个简单的临时解决方法是将代码放在单独的方法中并将其作为任务调用TaskCreationOptions.LongRunning.

例如:

Task.Factory.StartNew(() => { hash = YourCryptMethod(password, salt); },TaskCreationOptions.LongRunning).Wait();

我做了一个 PR (#10) 可以解决这些问题。


推荐阅读