什么是密码哈希? [关闭]

2024-03-09

哈希密码是什么意思?


定义:
Hashing http://en.wikipedia.org/wiki/Hash_function是函数的应用f()到可变大小的输入以产生恒定大小的输出。

A => f() => X
B => f() => Y
C => f() => Z

哈希也是一种单向函数,这意味着没有函数可以反转或撤消哈希。以及重新应用哈希f(f(x))不会生产x again.

细节:

哈希函数可以像“将 13 添加到输入”一样简单,也可以像“将 13 添加到输入”一样复杂加密哈希 http://en.wikipedia.org/wiki/Cryptographic_hash_function例如MD5 http://en.wikipedia.org/wiki/MD5 or SHA1 http://en.wikipedia.org/wiki/SHA1。构成良好哈希函数的因素有很多,例如:

  • Low Cost http://en.wikipedia.org/wiki/Hash_function#Low_cost:易于计算
  • 确定性 http://en.wikipedia.org/wiki/Hash_function#Determinism:如果我对输入进行哈希处理a多次,我每次都会得到相同的输出
  • 均匀度 http://en.wikipedia.org/wiki/Hash_function#Uniformity:输入将均匀分布在可能的输出中。这符合所谓的鸽巢原理 http://en.wikipedia.org/wiki/Pigeonhole_principle。由于我们想要的输出数量有限f()将这些输出均匀地放置而不是放在同一个桶中。当两个输入计算出相同的输出时,这称为冲突。哈希函数产生较少的冲突是一件好事。

哈希应用于密码:

密码的散列与上述过程相同,但有一些特殊的注意事项。构成良好哈希函数的许多属性对于密码来说并没有什么好处。

举个例子决定论,因为当两个人使用相同的密码时,哈希会产生确定性结果,因此哈希在密码存储中看起来会相同。这是一件坏事!然而,这可以通过一种称为salt http://en.wikipedia.org/wiki/Salt_(cryptography).

均匀度另一方面是有益的,因为希望算法能够限制冲突。

因为哈希是One-Way意味着无法从输出确定输入,这就是散列对于密码非常有用的原因!

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

什么是密码哈希? [关闭] 的相关文章

  • 所有可能的骑士在普罗梅拉的棋盘上移动

    是否有可能用马从初始位置 I J 绕过大小为 N N 的棋盘 并且只访问每个方格一次 define A True A I J false active proctype method bit I 4 bit J 3 bit K 1 bit
  • 如何返回 Solidity 中的结构数组?

    我正在为以太坊智能合约设计一个解决方案bidding 用例包括保留名称 例如 myName 并分配给一个地址 然后 人们可以竞标该名称 在本例中为 myName 可以有多个名称发生多次此类出价 struct Bid address bidO
  • 给定一个点向量(可能无序),找到多边形(不是凸包)

    我目前有一个点向量 vector
  • 图像算法上的物体计数

    我又接到学校任务了 这次 我的老师给我的任务是创建算法来计算图片上有多少只鸭子 该图与此类似 我想我应该使用模式识别来搜索上面有多少只鸭子 但我不知道每只鸭子适合哪种图案 我认为你可以通过分割鸭嘴并计算鸭嘴的数量来解决这个问题连接的组件 h
  • 用于计算三角函数、对数或类似函数的算法。仅限加减法

    我正在修复 Ascota 170 古董机械可编程计算机 它已经开始工作了 现在我正在寻找一种算法来展示其功能 例如计算三角或对数表 或类似的东西 不幸的是 从数学运算来看 计算机只能进行整数的加减法 从 1E12到1E12的55个寄存器 甚
  • 如何在单向链表(一次遍历中)中从尾部获取第 n 个节点?

    所以我在一次考试中得到了这个问题 如何从单链表的尾部获取第 n 个节点 每个节点都有一个值和一个下一个 指向下一个值的指针 我们得到这个 getNodeFromTail Node head int x 所以我的做法是通过遍历一次来求出列表的
  • 当平方和为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
  • 将旧密码转移到新的哈希算法?

    我正在将站点切换到 Rails 这是一个拥有超过 5 万用户的大型网站 问题是 现有的密码哈希方法是极其虚弱的 我有两个选择 1 切换到新算法 为每个人生成随机密码 然后通过电子邮件将这些密码发送给他们 并要求立即更改 2 实现新算法 但使
  • 有效地合并两个数组 - 一个已排序,另一个未排序

    我正在解决一个问题 该问题有一个由 n 个元素组成的排序数组 后跟一个未排序的长度数组 O logn O 平方 n 如何最有效地对整个列表进行排序 在上述两种情况下我应该使用哪种排序 由于将单个元素插入数组并保持其排序是O n 你不可能变得
  • 在 3d 网格中转发(绘制)线

    我需要类似 Bresenham 算法的东西 但是 对于 3d 网格空间来说不完全是这样 我需要 3d 单元网格 边缘尺寸 1 0 从 S 点开始 前进到 K 点 接触 该线接触的所有单元格 即使只有边缘 点被触摸我需要触摸所有 8 个单元
  • 一种良好且简单的随机性测量方法

    获取一长整数序列 例如 100 000 个 并返回序列随机性的测量值的最佳算法是什么 该函数应返回单个结果 如果序列并非完全随机 则返回 0 如果完全随机 则返回 1 如果序列有点随机 它可以给出介于两者之间的东西 例如0 95 可能是一个
  • 计算字符串的所有子串中子序列的出现次数

    我想编写一个算法来计算字符串的所有子字符串中字符子序列 不相交 出现的总数 下面是一个例子 字符串 jabcohnnyjohnny 后续 约翰尼 包含子序列的子字符串 jabcohnny jabcohnnyj jabcohnnyjo jab
  • 关于Marching Cubes算法的澄清

    关于Marching Cubes 我对其算法和实现有一些疑问 我已经阅读了 Marching Cubes 的 Paul Bourke 优秀文章以及网站上可用的源代码 但是 我在理解以及如何以自己的方式实现算法方面仍然遇到了一些问题 问题如下
  • 在 Haskell 命令行应用程序中提示输入密码

    以下 Haskell 程序提示用户在终端中输入密码 如果输入正确则继续 main do putStrLn Password password lt getLine case hash password member database of
  • 什么是“朴素”算法,什么是“封闭式”解决方案?

    我有一些关于描述算法时使用的术语语义的问题 首先 朴素 算法是什么意思 这与给定问题的其他解决方案有何不同 解决方案还可以采取哪些其他形式 其次 我听到很多人提到 封闭式 解决方案 我也不知道这意味着什么 但在尝试解决递归关系时经常会出现
  • LRU算法,实现这个算法需要多少位?

    我有一个关于 LRU 算法的小问题 如果您有一个包含四个块的高速缓存 那么需要多少位来实现该算法 假设您指的是 4 路组关联缓存 完美 LRU 本质上是按照使用顺序为每一行分配一个精确的索引 您也可以将其视为 年龄 因此 4 个元素中的每一
  • 坐标算法 - 绕中心旋转

    通过查看这张图片 我想您会很好地理解我的问题 图片已删除 网址不再有效 现在返回广告 所以基本上我想要一个函数 它接受一个对象作为参数 并根据我之前添加的对象数量为该对象提供正确的坐标 假设我将所有这些对象添加到一个数组中 objectAr
  • 重写修改后的 goto 语义的算法

    我有一大堆使用旧的自行设计的脚本语言编写的遗留代码 我们将它们编译 翻译成 javascript 该语言有条件跳转 跳转到标签 与普通 goto 语句的区别在于 不可能向后跳转 该语言中没有嵌套的 if 语句或循环 由于 javascrip
  • 求先递增后递减列表的最大值和最小值

    我尝试用谷歌搜索这个问题 但没有取得太大成功 我确信这个问题或类似问题有一个技术名称 但我似乎找不到答案 给定一个列表L整数 即严格递增 然后严格递减 找到该列表的最大值和最小值 例如 L可能 1 2 3 4 5 4 3 2 or 2 4
  • 改变字典的哈希函数

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

随机推荐

  • 我可以使用 AJAX“POST”将数据发布到服务器上的 JSON 文件吗?

    我只想要最简单 最简单的方法 使用 POST 用户在我的服务器上输入的数据从 AJAX 表单获取数据 因此 如果用户在页面的输入表单中留下他们的姓名 则 AJAX POST 会将数据发送到我的服务器上的 JSON 文件中 这可能吗 这是获取
  • unixodbc 驱动程序管理器无法在安装时打开指定的库

    我正在使用 ArchLinux 并且正在尝试安装 OpenEdge 进度驱动程序 以便我可以通过 PHP 访问它 我已经安装了 unixodbc 软件包和驱动程序 但是当我通过 isql 或 PHP 测试连接时 出现相同的错误 isql 3
  • AngularJS ng-src 图像路径

    关于使用ng src为了显示图像 此代码在运行时起作用 但在初始页面加载时不起作用 div class imageHolder img div class caption Click to configure div div 在我的初始页面
  • Rest JAX-RS异常,未找到MessageBodyWriter

    我正在使用泽西岛2 13 当我尝试通过浏览器中的 url 访问资源时 出现 MessageBoddyWriter not found 异常 例外 MessageBodyWriter not found for media type appl
  • Julia:如何在宏中使用 kwargs...?

    说我想要 fn a b c sort true 扩展到 gn a b c sort true 目前 我将其写为 macro fn x args kwargs esc gn x args kwargs end 这似乎不起作用 我如何扩展kwa
  • 打开街道地图 (osmdroid) 在 PC 中显示灰色瓷砖而不是地图

    我正在使用 osmdroid 在我的应用程序中获取开放的街道地图 我已经使用所需的 jar osmdroid 构建了我的项目 并在清单中添加了所有需要的权限 但是当我尝试在 android 模拟器 adt eclipse 中调试我的应用程序
  • mysqli_select_db() 期望参数 1 为 mysqli,给定字符串

    我是 Mysqli 新手 收到以下错误 警告 mysqli select db 期望参数 1 为 mysqli 字符串 在 D Hosting 9864230 html includes connection php 第 11 行给出 警告
  • 使用 IMAGE_FILE_LARGE_ADDRESS_AWARE 32 位 - 64 位

    我昨天了解到在 DelphiXE 中使用编译器指令 SetPEFlags IMAGE FILE LARGE ADDRESS AWARE 即使 DelphiXE 编译器生成 32 位代码 您也可以在 64 位计算机上访问 使用 4GB 地址空
  • 在 netbeans 7.0.1 中找不到 web.xml

    我想将文件上传到服务器 为此我正在编写一个 servlet 程序 上传文档的目录位置应从 web xml 中的参数获取 我以前没有使用过 web xml 只知道它为每个 servlet 生成条目 我无法在我在 netbeans 中制作的 W
  • SQLite 插入或替换位置

    我有一个包含 3 列的表 ID 描述和键 其中 ID 不是主键 我想要的是插入或更新 替换当前记录 例子 解密密钥 ID 描述 密钥 999 生日 1988 年 12 月 24 日 我尝试了这个 但它不起作用 INSERT OR REPLA
  • 如何从 JavaPairRDD 中选择前 N 个元素? -阿帕奇火花

    我已经获得了一个键 值对 并将其排序到一个新的JavaPairRDD中 现在 我需要从中选择前 5 个元素 即获取一个新的 JavaPairRDD 其中包含前 5 个元素 我该怎么做呢 有没有比使用 flatMap 更简单的方法 因为它似乎
  • 一起识别长按和平移手势识别器

    我有一个视图 其中添加了平移和长按 UIGestureRecognizer 平移用于移动视图 我想做的是还要注意触摸已停止移动 同时保持活动状态 并触发长按 我发现平底锅开始后长按永远不会被触发 我尝试设置委托并实施 BOOL gestur
  • 回显到标准输出并附加到文件

    我有这个 echo all done creating tables gt gt SUMAN DEBUG LOG PATH 但这应该只附加到文件 而不是写入标准输出 如何写入 stdout 并附加到同一 bash 行中的文件 像这样的东西吗
  • 在R中打印小数逗号而不是小数点

    我正在用 R 进行统计分析 我需要将结果粘贴到用法语编写的报告中 在法语中 浮点数是使用小数逗号而不是小数点来书写的 手动用逗号替换点有点乏味 1 我如何让 R 打印所有浮点数并用逗号分隔整数和小数部分 非常感谢 rmuc8 非常快速有效地
  • 在 Lucene 中正确索引纬度和经度值

    我正在使用 Lucene API 开发 给定半径内基于 美国的最近城市搜索 功能 我在 Lucene 中索引城市的纬度和经度值 如下所示 doc Add new Field latitude paddedLatitude Field Sto
  • Leveled Compaction 策略如何确保 90% 的读取来自一个 sstable

    我试图理解如何分级压实策略在 Cassandra 中 保证 90 的读取都可以通过单个 sstable 得到满足 来自 DataStax 文档 新的 sstables 添加到第一级 L0 并立即与 L1 中的 sstables 进行压缩 当
  • 为什么编译器选择 bool 而不是 string 来进行 L"" 的隐式类型转换?

    最近引入了方法的重载 应用程序开始失败 最终追踪到它 新方法正在我意想不到的地方被调用 We had setValue const std wstring name const std wstring value std wstring a
  • 以编程方式在 R 中查找股票代码

    我有一个包含公司名称的数据字段 例如 company lt c Microsoft Apple Cloudera Ford gt company Company 1 Microsoft 2 Apple 3 Cloudera 4 Ford 等
  • java.io.FileNotFoundException: com/google/inject/internal/util/$Finalizer.class 在 android 应用程序的开头

    我正在开发 Android 倒计时应用程序 在应用程序中 您可以根据需要添加或删除任意数量的倒计时 所有倒计时都保存在 ArrayList 中 我不能将它们保存在数据库或共享首选项中 因为即使您离开应用程序 倒计时也必须继续运行 我使用 r
  • 什么是密码哈希? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 哈希密码是什么意思 定义 Hashing http en wikipedia org wiki Hash function是函数的应用f