在哪里存储密码?

2023-12-27

我正在编写一个 Android 密码管理器应用程序,我想将主密码存储在某个地方,但我不知道在哪里。我是否应该使用我选择的硬编码密码对用户提供的主密码进行加密,然后将其存储到数据库中?或者我应该做点别的什么?


您永远不应该存储未加密的密码。

对于无法安全加密的密码(因为必须将解密密钥存储在某处),您应该只存储其不可逆的哈希值。

这样,当用户向您提供密码时,您可以将密码与哈希值进行比较。如果匹配,您可以使用给定的密码解密存储的用户:密码对。

PS:别忘了给哈希加盐请正确做 https://stackoverflow.com/questions/536584/non-random-salt-for-password-hashes.

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

在哪里存储密码? 的相关文章

随机推荐

  • Imgur API 和 VB.NET 帮助 - Image POST

    我正在尝试将图像发送到 Imgur 的服务器 一切都很顺利 我从解析器中获取了图像的 URL 但是当我尝试在网络浏览器上打开它时 我没有得到图像 只有一个 损坏的图像 图标 我认为这是转换为字节数组的问题 但我不明白 请让我知道 修复我的代
  • 在 Servlet/JSP 中加载属性文件[重复]

    这个问题在这里已经有答案了 我创建了一个jar从我的Java project并想在一个JSP Servlet Project 我正在尝试加载一个属性文件 比如说我的sample propertiesJSP Servlet Project保存
  • 通过Webpack导入模块中的图片

    我的应用程序使用 NodeJs webpack 和 ES2015 我似乎无法弄清楚如何在我的模块中导入图像 以下不起作用 import css image t1 png 编辑 根据 Sitian 的要求 这是我的 webpack 配置 co
  • 隐藏 SSRS 中的列

    我正在使用 SSRS 2012 和 Excel 2010 我想在导出到 Excel 时隐藏一列 在浏览了一些论坛后 似乎最好的方法是转到您正在查找的内容的列或文本框隐藏并在 可见性 隐藏 选项下将 表达式 设置为 IIF Globals R
  • Chicken计划中的命名空间

    命名空间在 Chicken Scheme 中如何工作 我现在正在使用parley鸡蛋 当我定义一个名为例如的函数时read 由于名称冲突而导致错误 实际上 因为我的read覆盖parley s own read 并且以错误的类型调用它 这是
  • 使用 URL swift Alamofire 上传视频

    我需要使用 alamofire 将视频上传到服务器 用户选择视频 我在 didFinishPickingMediaWithInfo 中成功获取 URL 如下所示 func imagePickerController picker UIIma
  • 如何导入无法识别的日期时间格式的 CSV?

    该表如下所示 CREATE TABLE dbo temptable id nvarchar 50 COLLATE SQL Latin1 General CP1 CI AS NOT NULL datetime datetime NOT NUL
  • 合并 PDF 文件

    是否可以使用 Python 合并单独的 PDF 文件 假设是这样 我需要进一步扩展一下 我希望循环遍历目录中的文件夹并重复此过程 我可能会碰碰运气 但是否有可能排除每个 PDF 中包含的页面 我的报告生成总是会创建一个额外的空白页面 您可以
  • 使用 Scala 和 SBT 设置 IntelliJ

    我正在尝试使用 scala 和 sbt 设置 intellij 进行开发 我已经在 IDE 上安装了 scala 和 SBT 插件 但是 当我尝试创建新的 scala 和 sbt 项目时 build sbt 文件显示以下错误 Cannot
  • Jmeter:使用带变量的 jmeter Junit 请求

    正如我在问题中所说 是否可以将 jmeter 变量 通过 J 传递 传递到JUnit Request为了它可以在 junit 测试内部使用 听起来可行Apache Junit 请求文档 http jmeter apache org user
  • Android 填充Webview内容时底部白色条纹

    将 HTML 加载到 Web 视图后 我会在布局的右侧和底部看到一条白色条纹 对于正确的 我使用以下方法解决了它 setScrollBarStyle WebView SCROLLBARS INSIDE OVERLAY 然而 我尝试了很多方法
  • 如何使用 dplyr::filter() 仅返回值包含一个或多个给定字符串向量的行?

    我有一个包含一列字符串的数据框 我想使用 filter 或另一个可管道函数 仅返回包含字符串的行 这些字符串包含另一个字符串向量中的任何值 我已经查看了以前的问题和答案 但找不到任何我正在寻找的东西 例如 title lt c apple
  • .Net WebClient 类中的curl -u 等效项

    这个问题解释了一切 但这里有更多信息 我正在尝试将 4sq api 与 C 一起使用 并且需要在每个请求中发送用户名密码对 API 文档说 curl u user pass 可以完成这项工作 但我如何使用 WebClient 来完成这项工作
  • 将 Web 服务器升级到 .net Framework 4.6.1 时,与远程 SQL 服务器的连接中断

    我们目前正在努力将我们的 asp net Web 应用程序 托管在 IIS 7 5 上 从 net Framework v4 5 更新到 v4 6 1 在 SQL Server 与 IIS 运行在同一机器上的小型较低环境 本地开发中 此更新
  • 为 SQL Compact 4 设置 EF4 数据源

    我已经使用 vs 工具安装了 Visual Studio 2010 SP1 EF 4 1 SQL Compact 4 0 一切看起来都很好 除了我无法通过向导使用 SQL Compact 4 作为实体框架的数据源 唯一的替代方案是 SQL
  • 并发修改异常? [复制]

    这个问题在这里已经有答案了 我试图按开始时间对时间跨度列表 表示为具有开始时间和结束时间的 Time 数组 进行排序 我正在尝试使用以下嵌套循环来执行此操作 for Time span workingList Time compareTo
  • 配置 cobertura 以忽略某些代码块

    是否可以使用 Cobertura 告诉它忽略由开始和结束注释标识的某些代码位 例如 public class Foo public void static doSomething Cobertura Ignore Start Cobertu
  • 0x80020101代表什么?

    一个简单的问题 我在微软的错误查找或轻松使用谷歌中找不到答案 HRESULT 0x80020101 代表什么 http support microsoft com kb 247784 http support microsoft com k
  • 从scala并行收集到常规收集的转换

    我正在尝试从并行集合转换回常规地图 根据 api 如果我在任何适当定义的并行集合上调用 toMap 它应该返回一个标准 Map 但它会通过可迭代的扁平集合返回 ParMap I have a val task Stream Future I
  • 在哪里存储密码?

    我正在编写一个 Android 密码管理器应用程序 我想将主密码存储在某个地方 但我不知道在哪里 我是否应该使用我选择的硬编码密码对用户提供的主密码进行加密 然后将其存储到数据库中 或者我应该做点别的什么 您永远不应该存储未加密的密码 对于