如何升级密码存储方案(更改哈希算法)

2023-12-19

我被要求对 Intranet 站点实施一些更改/更新;正如他们所说,使其成为“面向未来”。

我们发现密码是使用 MD5 算法进行哈希处理的。 (该系统自 2001 年以来就已经存在,所以当时已经足够了)。
我们现在想要将哈希算法升级为更强的算法(BCrypt-hash 或 SHA-256)。

We obviously do not know the plaintext-passwords and creating a new password for the userbase is not an option*).

所以,我的问题是:

在无法访问明文密码的情况下更改哈希算法的可接受方法是什么?
最好的解决方案是完全“在幕后”的解决方案。

*) we tried; tried to convince them, we used the argument of 'password age', tried to bribe them with coffee, tried to bribe them with cake, etc. etc. But it is not an option.

Update
我希望有某种自动解决方案来解决问题,但显然除了“等待用户登录,然后转换”之外没有其他选择。

好吧,至少现在我现在没有其他的解决办法了。


首先,在数据库中添加一个字段来识别密码是使用MD5还是新算法。

对于仍然使用 MD5 的所有密码:

-- 在登录过程中,验证用户输入的密码:将用户提交的密码临时存储在内存中(这里没有安全问题,因为它已经在内存中的某处)并执行通常的 MD5 哈希并与存储的哈希进行比较;

-- 如果给出了正确的密码(与现有哈希匹配),则通过新算法运行临时存储的密码,存储该值,更新新字段以标识该密码已更新为新算法。

(当然,您只需对任何新用户/新密码使用新算法。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何升级密码存储方案(更改哈希算法) 的相关文章

  • “您的安全设置已阻止本地应用程序运行”Java 8

    我正在尝试在 Chrome 窗口中运行一个小小程序 但收到错误消息 我确实看到所有回复都告诉我将安全性更改为中级 但版本 8 中不存在该选项 到目前为止 几个小时的谷歌搜索和向同学寻求帮助没有带来任何进展 有人可以建议一下吗 Medium在
  • 通过访问硬盘序列号来保护软件[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我想获得VB NET或VB代码来在启
  • ASP.NET MVC - ValidateAntiForgeryToken 过期

    在网页中 我们提供一个超链接 GET 用户可以单击该超链接进行身份验证 Html ActionLink Please Login MyMethod MyController 这映射到以下返回视图的控制器方法 RequireHttps pub
  • JSON 响应周围的注释块

    我注意到一些 Web 应用程序返回 AJAX 响应 并在注释块中嵌入 JSON 数据 例如 这是一个示例响应 firstName John lastName Smith address streetAddress 21 2nd Street
  • (Java) 在 Mac OS X 上以编程方式访问“系统根目录”下的 SSL 证书

    我正在编写一个 Java 应用程序 它可以通过远程 Https 站点进行 REST Api 调用 远程站点由受信任的证书签名 它在 Windows 上运行良好 但由于 SSL 证书问题 在 OS X 上运行时遇到问题 我做了一些挖掘 发现原
  • Android应用程序中的模式输入

    我想知道是否有其他替代方案可以替代 Android 上平庸的 EditText 密码输入 是否有 API 或开源代码可以集成到我的应用程序中 类似于锁屏图案解锁 Intent 可能会返回哈希值 数字 字符串或代表用户输入的模式的任何内容 我
  • Rfc2898DeriveBytes 与密码的 Sha2 哈希生成

    我最近知道使用 SHA256 为加盐密码生成密码哈希 在阅读了一些有关加盐密码和安全性的内容后 我看到rfc2898derivebytes and passwordderivebytes NET 中的类 使用有什么好处吗rfc2898der
  • Codeigniter - 检查用户是否已登录并存在(它是真实用户)

    我正在尝试在用户登录我的网站时为他们设置会话数据 因此 如果用户存在于数据库中 我将设置一个会话数据 例如 this gt session gt set userdata user exists 1 现在 每次我想检查用户是否存在并已登录时
  • 解码 OAEP 填充时出错

    我的问题已经解决了一半 请帮助 我已使用数字签名的公钥成功加密了文本 但在解密时出现错误 解码 OAEP 填充时出错 我的代码如下 region Test Encryption public void a using var rsa new
  • 保护 JSF 应用程序的安全

    我的一位自由职业者朋友邀请我加入他的 JSF 2 0 项目 我正在慢慢加快速度并将各个部分整合在一起 来自 Windows Forms NET 世界 至少可以说 我还有很多东西需要学习 我主要担心的是对于如何保护 JSF 应用程序缺乏明显的
  • Cloud Firestore 安全规则使用的语言名称是什么?

    我想知道用于 Cloud Firestore 安全规则的语法名称 如下所述https firebase google com docs firestore security get started authuser 0 https fire
  • 无法使用前导 ../ 在顶级目录之上退出

    我有一个 asp net 网站 我们有管理区域 其中的登录页面仅供管理员使用 并且所有网站都允许所有人使用 当我收到此错误时 我需要询问如何为其定义正确的安全配置 Cannot use a leading to exit above the
  • 如何检测CSRF漏洞[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 给定一个网站 如何检测潜在的 CSRF 漏洞 提前致谢 这是一个CSRF https www owasp org index php
  • 支持 API 28(Android Pie) 上的 Android StrongBox 的 Android 智能手机列表

    我需要 Android 9 中支持安全元件和 StrongBox 的 Android 手机列表 在哪里或如何找到该列表 我在 Samsung Galaxy S9 和 AVD Google Pixel XL API 28 上尝试了下面的代码
  • 为什么将 MySQL 凭据放在 www 目录之外? [复制]

    这个问题在这里已经有答案了 可能的重复 将核心类放在 Web 根目录之上 好还是坏主意 https stackoverflow com questions 3648739 putting core classes above the web
  • 什么是 API 密钥? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 如今 我几乎在每个跨服务应用程序中都看到这个词 API 密钥到底是什么以及它的用途是什么 另外 公共 API 密钥和私有 API 密钥
  • 是否可以使用流上下文在 PHP 下使用 FTPS?

    我了解到使用ftpsPHP for Windows 下的 ftp ssl connect 很困难 您被要求进入构建自己的二进制文件以包括 Open SSL 的漫长旅程 我找到了以下建议phpseclib http phpseclib sou
  • php 中的简单授权/登录功能

    我希望第一次实现用户登录到我的网站 我很高兴构建自己的解决方案 或者实现一些开源的东西 但是到目前为止 在我的搜索中没有任何包是明显的选择 同样 我完全意识到 作为一名中级 php 程序员 如果我推出自己的解决方案 并真正敞开大门 我很可能
  • 保护 ASP.NET 网站中 Elmah RSS 源的安全

    我遵循了这个问题的答案在 ASP NET 网站中保护 Elmah 的安全 https stackoverflow com questions 1245364 securing elmah in asp net website限制对 elma
  • 从 HTTPS 重定向到 HTTP 的安全问题?

    我在一些博客上读过 抱歉没有提及参考资料 但我找不到了 如果您将用户从 https 页面重定向到 http 页面 您将失去保护网站安全的所有工作 那么 有人可以向我解释一下在以下情况下我是对还是错 在登录页面上使用 https 然后使用 h

随机推荐

  • Grails、SpringSecurity - 如果未记录则禁用重定向

    我如何配置 grails 使其在尝试访问安全资源时不将人员 用户重定向到登录页面 我只想发送 401 状态错误并重定向到主页 你要做的是配置authenticationEntryPoint 这通常可以在spring resources gr
  • 如何在Access-VBA函数中SQL连接表,选择最大值?

    我目前有以下 Access VBA 函数 其操作方式如上一个问题 https stackoverflow com questions 38898257 how to maintain uniqueness during sql join w
  • 如果存在更新否则插入

    我想知道下一段代码是否正确 SqlCommand cmd new SqlCommand IF NOT EXISTS SELECT count from Raspunsuri where id intrebare 2 Insert INTO
  • 插入 PostgreSQL

    我在 SQL 方面遇到了一点问题 我正在尝试将 2 个值插入到我的表中 这是我的查询 INSERT INTO tableinfo table date VALUES Sell 24 August 但这不起作用 我有类似的东西 SQL err
  • 通过“C#”清除临时 Internet 文件

    我在 Windows 应用程序中使用 webbrowser 控件 我正在查看 webbrowser 控件内的 url 内容 这里的 url 内容值存储在用户计算机的临时 Internet 文件中 当我单击表单中的关闭按钮时 我正在以编程方式
  • 除了 Windows 设备门户之外,还有其他方式访问 Hololens LocalAppData 吗?

    我一直遇到这个问题 当我尝试通过 Windows 设备门户将本地应用程序文件从 Hololens 保存到我的计算机时 门户需要很长时间才能下载它们并最终超时 这很令人沮丧 因为我在连接到门户时没有问题 而且我尝试下载的文件非常小 有谁知道我
  • 如何查看Python文件的汇编代码? [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 出于好奇 我想查看与 py 文件代码相对应的汇编指令 您可以提出任何值得信赖的解决方案吗 The dis module https
  • 如何更新已安装的 Windows 服务?

    我用 C 编写了一个 Windows 服务 我已经将它安装在我的机器上 并且运行得很好 当您安装服务时 exe被复制到某个地方 还是它指向我的bin文件夹 这是为了让我知道 当我不时更新我的 代码时 我是否必须卸载并重新安装我的服务才能更新
  • 为什么在searchBar和tableview之间添加空白?

    我有一个表格视图控制器 我添加了搜索栏 但是当我点击 searchBar 时 searchBar 和 TableView 之间有一个空格 为什么 以及如何修复 在下面我添加了屏幕截图和代码 tableViewController 列表 感谢
  • Java 中的 JAR 级(汇编级)类范围

    在 C 中 如果我希望某个类对该程序集 DLL 中的任何类都可见 我只需将其范围设置为internal 这是默认值 我怎样才能在Java中做到这一点 在Java中 我注意到默认 内部范围是封装级别 not JAR 级别 这对我来说是一个问题
  • Python 中的图像注视点

    我希望能够在 Python 中将焦点放在图像的中心 我的输入图像可以表示为 2D Numpy 数组 我想要获得中心高分辨率但两侧模糊的输出图像 我发现了一个名为的 OpenCV 函数logplar interp为此目的 但它似乎不存在于 O
  • IOS中如何处理用户认证持久化?

    我正在尝试为我的 iPhone 应用程序和服务器构建基础 我的用户将从 iPhone 应用程序注册并登录 在正常的网站登录中 http 服务器会提供 cookie 以允许用户后续的请求保持身份验证 我应该如何在 iPhone 上处理这个问题
  • 关闭 Excel.Workbook 时出现 COMException(0x80010108 - RPC_E_DISCONNECTED)

    当我运行以下代码时 出现以下异常 NOTE ExcelApp is a Private main form variable Dim ReportBooks As Excel Workbooks ExcelApp Workbooks Dim
  • 如何在异步模式下使用 XMLHttpRequest 设置多个标头数据?

    我的 api 调用要求我在标头中传递 api 密钥 但我从 api 服务返回错误 error 2424452 message Invalid Api Key 我知道我的 api 密钥是有效的 因为我可以在 Python 中进行相同的 api
  • 如何替换 Gradle 构建产品文件中的令牌?

    我为 Gradle 设置了一个普通的构建脚本 我想做的一件事是指定我的构建版本 这是我设置的用于替换主 Java 源文件中的版本标记的代码 import org apache tools ant filters ReplaceTokens
  • 什么是位掩码?

    我对 C 编程相当陌生 并且遇到了位掩码 位掩码的一般概念和作用是什么 非常感谢例子 掩码定义要保留哪些位以及要清除哪些位 屏蔽是将屏蔽应用于值的行为 这是通过执行以下操作来完成的 按位与运算以提取值中的位子集 按位或运算以设置值中的位子集
  • 当 HTML5 画布准备好时调用函数

    我将多个 PNG 图像加载到画布上 因此生成画布需要一些时间 我想在画布加载时显示加载图标 如何检查画布是否正在加载或准备就绪 HTML
  • OpenGL ES 可以渲染非基本二维的纹理吗?

    在我深入研究将当前的渲染系统转换为 openGL 之前 这只是一个简单的问题 我听说纹理需要采用基本 2 尺寸才能存储以进行渲染 这是真的 我的应用程序内存非常紧张 但大多数位图都不是 2 的幂 存储非基2纹理会消耗更多内存吗 确实 具体取
  • 流程发布资源

    我正在尝试构建我的react native项目并使用react native fbsdk 我在用 电子邮件受保护 cdn cgi l email protection and 电子邮件受保护 cdn cgi l email protecti
  • 如何升级密码存储方案(更改哈希算法)

    我被要求对 Intranet 站点实施一些更改 更新 正如他们所说 使其成为 面向未来 我们发现密码是使用 MD5 算法进行哈希处理的 该系统自 2001 年以来就已经存在 所以当时已经足够了 我们现在想要将哈希算法升级为更强的算法 BCr