散列密码和加密密码之间的区别

2023-11-26

目前得票最高的是这个问题 states:

另一个问题虽然与安全相关,但与其说不是安全问题,而且完全失败了理解散列密码和加密密码之间的区别。最常见于程序员试图提供不安全的“提醒我密码”功能的代码中。

这个区别到底是什么?我一直认为散列是加密的一种形式。海报所指的不安全功能是什么?


散列是一种单向函数(好吧,一种映射)。这是不可逆的,您应用安全哈希算法,并且无法取回原始字符串。您最多能做的就是生成所谓的“冲突”,即找到提供相同哈希值的不同字符串。加密安全哈希算法旨在防止冲突的发生。您可以使用以下方法来攻击安全哈希彩虹桌,您可以通过应用来抵消salt在存储哈希之前。

加密是一种正确的(双向)功能。它是可逆的,如果你有密钥,你可以解密损坏的字符串以获得原始字符串。

它指的不安全功能是,如果您加密密码,您的应用程序会将密钥存储在某处,并且访问您的数据库(和/或代码)的攻击者可以通过获取密钥和加密文本来获取原始密码,而对于哈希来说这是不可能的。

人们通常说,如果破解者拥有您的数据库或代码,他就不需要密码,因此区别是没有意义的。这是天真的,因为你仍然有责任保护用户的密码,主要是因为他们中的大多数人确实一遍又一遍地使用相同的密码,使他们因泄露密码而面临更大的风险。

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

散列密码和加密密码之间的区别 的相关文章

  • Symfony 2 SecurityContext 类已弃用

    当我尝试访问 symfony demo 上的 app example 时 出现以下错误 错误 Symfony Component Security Core SecurityContext 类是 自 2 6 版本起已弃用 并将在 3 0 中
  • 四个无符号整数的哈希函数 (C++)

    我现在正在编写一个程序 它生成四个无符号 32 位整数作为某个函数的输出 我想对这四个整数进行哈希处理 这样我就可以将该函数的输出与未来的输出进行比较 不过 我在编写一个像样的哈希函数时遇到了麻烦 当我最初编写这段代码时 我对四个整数分别进
  • Firebase API 密钥限制不适用于 Android 应用程序包名称和 SHA1 指纹

    我们正在使用 Google Firebase 获取我们应用程序的 CrashLytics 数据 以及通过google services json文件被提出作为一个安全问题 因为应用程序 apk 文件可以被逆向工程来获取该文件 然后攻击者可以
  • 当平方和为N时,如何找到四个变量的所有可能值?

    A 2 B 2 C 2 D 2 N给定一个整数N 打印出整数值的所有可能组合ABCD求解方程 我猜我们可以比暴力做得更好 天真的暴力会是这样的 n 3200724 lim sqrt n 1 for a 0 a lt lim a for b
  • 极小极大算法

    我有一个关于 Minimax 算法的简单问题 例如 对于 tic tac toe 游戏 如何确定每个玩家玩的效用函数 它不会自动执行此操作 是吗 我必须对游戏中的值进行硬编码 它无法自己学习它们 不是吗 不 MiniMax 不会学习 它是暴
  • 填充体积算法

    我有一个具有一定尺寸长度 宽度 高度的盒子 我有不同长度 宽度 高度的物品 是否有现有的算法可以确定放入盒子中的最佳物品 这称为装箱 切割库存 背包问题 并且是 NP 难问题 一般来说 您只能通过使用启发式方法获得近似解 请参见示例 htt
  • 如何使用 python 标准库 zipfile 检查 zip 文件是否已加密?

    我正在使用 python 的标准库 zipfile 来测试存档 zf zipfile ZipFile archive name if zf testzip None checksum OK True 我收到这个运行时异常 File pack
  • MCRYPT 的等效加密 - 保留客户端代码

    我正在使用以下代码使用 mcrypt 执行加密
  • 如何知道您的单元测试装置是否“尺寸合适”?

    您如何知道 测试夹具 的尺寸是否合适 我所说的 测试夹具 是指一个包含大量测试的类 我在测试装置中一直注意到的一件事是它们变得有点冗长 鉴于它们也可能不够详细 您如何了解单元测试的大小是否合适 我的假设是 至少在 Web 开发的背景下 您应
  • 从原点开始在离散 2D 网格上迭代向外螺旋的算法

    例如 这是预期螺旋的形状 以及迭代的每个步骤 y 16 15 14 13 12 17 4 3 2 11 18 5 0 1 10 x 19 6 7 8 9 20 21 22 23 24 其中线条是 x 轴和 y 轴 以下是算法每次迭代 返回
  • 一个 Guice 就绪的安全框架?

    有没有人见过一个为与 Guice 一起工作而编写的框架 或者一个将现有安全系统 即 Acegi 与 Guice 集成的库 到目前为止我发现了以下内容 http code google com p warp security http cod
  • Java - 使用数组中的值的replace()方法正在更改数组值?

    我正在做类似的事情 public static String list a b c d It gives me a NullPointeException if I didn t use static public String encry
  • 自动跟踪算法

    我正在尝试写一个simple跟踪例程来跟踪电影中的某些点 本质上我有一系列 100 帧长的电影 在黑暗背景上显示一些亮点 我每帧有大约 100 150 个点 它们在电影的过程中移动 我想跟踪它们 所以我正在寻找一些有效的 但可能不会过度实施
  • 在 ruby​​ 中读/写受密码保护和加密的文件

    我想加密一个 ruby 程序将从中加载数据的文件 此外 我需要程序在启动时提示输入密码 该密码将用于解密文件 换句话说 该文件需要加密地驻留在计算机上 只有拥有密码的用户才能运行该应用程序 我已经开始研究 openpgp 但据我了解 这仍然
  • 是否可以通过扫描从控制台读取而不回显字符?

    这是一个示例函数 passwordEntry lt function cat Enter your password pwd lt scan n 1 what character quiet TRUE invisible pwd 并测试该功
  • 使用鼠标检测的反验证码

    我想知道是否可以为仅使用 javascript 的表单创建一个安全的人体检测机制 不使用验证码 来检测鼠标移动 因为 jquery 或操作系统代码都可以移动鼠标 我是这么告诉的 这是我的计划 使用 jQuery 我可以检测鼠标是否已移动 然
  • python 和 android 中通过 AES 算法加密和解密

    我有用于 AES 加密的 python 和 android 代码 当我在android中加密文本时 它在python上成功解密 但无法在android端解密 有人有想法吗 Python代码 import base64 import hash
  • Python PAM 模块的安全问题?

    我有兴趣编写一个 PAM 模块 该模块将利用流行的 Unix 登录身份验证机制 我过去的大部分编程经验都是使用 Python 进行的 并且我正在交互的系统已经有一个 Python API 我用谷歌搜索发现pam python http pa
  • 是否有加权水库采样的算法? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 当数据流中的点具有相关权重时 是否有一种算法可以执行水库采样 Pavlos Efraimidis 和 Paul Spirakis 的算
  • 改变字典的哈希函数

    按照此question https stackoverflow com questions 37100390 towards understanding dictionaries 我们知道两个不同的字典 dict 1 and dict 2例

随机推荐

  • 为什么 Erlang 的浮点数中不允许使用“Infinity”?

    Erlang 以及扩展 Elixir 支持浮点数 一些可能的浮动 1 2345 1 0e10 1 0e 42 Erlang 支持 NaN nan 在 Erlang 中 但是我还没有发现一种输出的方法nan本身 然而 Erlang 不支持In
  • 为什么我可以创建类的实例而不将其存储到变量中并且仍然可以正常工作?

    我有一个名为的非静态类ImplementHeaderButtons其中包含一个名为的非静态公共方法Implement 类和方法的名称并不重要 重要的是它们不是静态的 因此需要实例化才能使用 对吧 所以我曾经这样做过 var implemen
  • 在 R 中合并保留数据集的所有行

    我有两个数据框 不同的论文年份数据 author id distinct paper year count 1 3 2 1 4 1 5 4 作者数据 author id paper id confirmed 1 25733 1 2 4727
  • Flutter web:使用 url_launcher 在 target="_self" 中启动页面

    我在用网址启动器包裹 在 Flutter web 中时 我希望在当前页面中打开 url 而不是在target blank 我尝试添加forceWebView true if await canLaunch url await launch
  • 这是 C11 匿名结构吗?

    我正在研究 C11 草案 上面写着 没有标记的结构类型的未命名成员称为匿名结构 没有标记的联合类型的未命名成员称为匿名联合 匿名结构或联合的成员被视为包含结构或联合的成员 所以我构建了以下测试用例 struct type with no t
  • C# 电子邮件正则表达式——有遵守 RFC 2822 指南的吗?

    我意识到有大量的正则表达式电子邮件验证 但我似乎找不到符合RFC 2822标准 我发现那些不断放出垃圾的人 电子邮件受保护 打通 如果其中一个问题已经按照 RFC 2822 得到了回答 但没有注释 请原谅我 I did 一个关于这个的帖子不
  • 如何对 PNG 图像进行 Base-64 编码以便在 CSS 文件的 data-uri 中使用?

    我想对 PNG 文件进行 base 64 编码 将其包含在样式表的 data url 中 我怎样才能做到这一点 我使用的是 Mac 所以 Unix 命令行上的东西会很好用 基于 Python 的解决方案也很棒 这应该在 Python 中完成
  • 想要在 __weak ivar 被 niled 时执行操作

    我有一个 class Foo其中包含一个 weak id bar伊瓦尔 不同类中方法的多个操作可能导致对象消失 从而得到bar niled 我想在 ivar 被 ARC 自动清除时执行一个操作 如果可以的话 我想避免转弯bar进入属性或使用
  • 为什么 Urlmon.dll 中的 FindMimeFromData 函数为许多文件类型返回 MIME 类型“application/octet-stream”?

    为什么 Urlmon dll 中的 FindMimeFromData 函数对许多文件类型返回 MIME 类型 application octet stream 而按文件扩展名检查 MIME 类型 即针对 Windows 注册表 会返回更精确
  • 我可以通过 XML 为 RingtonePreference 插入 android:defaultValue 特征吗?

    有没有办法通过 XML 在 RingtonePreference 中添加默认值 例如 我的首选项 xml 如下所示
  • iPhone 设备上的方法 Swizzle

    我尝试了 JRSwizzle 和 MethodSwizzle 它们在模拟器上编译得很好 但当我尝试为设备 3 x 编译时抛出一堆错误 有人在 iphone 上有过运气吗 有什么窍门 TIA CocoaDev wiki 对方法调配进行了广泛的
  • IntelliJ 拒绝添加自定义组件

    我的问题如下 假设我们有以下文件 package p import javax swing public class test extends JPanel test super true 我保存文件并编译它 现在 在 IntelliJ 中
  • 使用 jQuery 查看输入是否有空格

    我正在尝试编写一个函数来读取输入值 并确定在其创建过程中是否使用了空格 我并不是想修剪任何东西 只是看看它是否需要修剪的能力 我什至不知道从哪里开始 所以我没有任何代码可供查看 如果可以的话请帮忙 我正在尝试这个解决方案 但它似乎不起作用
  • 如何将 MQ Server 回复消息与正确的请求相匹配

    我正在连接到 IBM Websphere MQ 我希望能够将回复消息与正确的请求消息相匹配 我已经翻阅了数百页才能得到这个 但没有运气 我有一个类 MQHandler 它将一条消息发送到一个定义的队列 并从另一个队列读取请求 这工作得很好
  • 如何使用 HtmlUnit 获取 HTML 页面

    我知道你可能认为这个问题很愚蠢 但我需要使用 HtmlUnit 但是 它以 XML 或文本形式返回页面 我不知道如何获取纯HTML 与浏览器返回的源代码相同 我需要这个 因为我需要使用一些编写的模块 有任何想法吗 您可以使用以下代码来实现您
  • 为什么两阶段查找无法选择“swap”的重载版本?

    我在学习这个令人着迷的答案 to a 微妙的问题关于实施的最佳实践swap用户定义类型的函数 我的问题最初是由讨论向命名空间添加类型的非法性std 我不会在此处重新打印上述链接答案中的代码片段 相反 我想理解答案 我在上面链接的答案在第一个
  • JFrame.dispose() 与 System.exit()

    这两种方法有什么区别 System exit and JFrame dispose 如果我们想在单击按钮时关闭 Java Swing 应用程序 我应该使用哪种方法 System exit 导致 Java VM 完全终止 JFrame dis
  • 更新到 Angular 8 CLI 后抛出“.getColorDepth 不是函数”

    我的一位同事将你的项目升级到 Angular 8 我拉了他的分支并运行npm install 在他的分支上一切正常 现在 每次运行任何 ng 命令时 我都会遇到相同的错误 C xxx party ui node modules angula
  • 使用 ajax 调用时如何拦截 jQuery 链接?

    我可能正在做一些愚蠢的事情 但是如果我有一个正常的链接 例如 div div a href Not Intercepted A link a 我将 jQuery 单击事件附加到链接 如下所示 interceptMe click functi
  • 散列密码和加密密码之间的区别

    目前得票最高的是这个问题 states 另一个问题虽然与安全相关 但与其说不是安全问题 而且完全失败了理解散列密码和加密密码之间的区别 最常见于程序员试图提供不安全的 提醒我密码 功能的代码中 这个区别到底是什么 我一直认为散列是加密的一种