我需要一种在 C# 中散列密码的方法以及在 JavaScript 中散列相同密码并获得相同结果的能力,以实现离线浏览身份验证机制。
我在这里找到了 bCrypt 的 JavaScript 版本:http ://code.google.com/p/javascript-bcrypt/downloads/detail?name=jBCrypt-v2.2.tar.gz ,还有 C# 实现,但我不知道他们是否兼容。
对于我正在开发的网络应用程序,我需要这个,在网络连接可能并不总是可用的情况下,该应用程序可能会被群组中的不同人使用。所有数据都将加载到 Web 应用程序中,但每个用户只能看到他共享的数据。为了实现这一点,即使没有网络连接,我也需要用户进行身份验证。我想我可以通过将所有用户名及其密码哈希(由 ASP.NET MVC / C# 控制器生成)存储在本地存储中来做到这一点。然后,当用户输入他的密码时,我会使用 JavaScript 找到其哈希值,并将其与存储在本地存储中的哈希密码进行比较。
该网络应用程序不处理银行信息或任何类型的此类敏感数据,因此安全要求最低。