密码学哈希函数

A Hash Function is a mathematical function that converts a numerical value into another compressed numeric value. The input value for the hash functions can be of arbitrary length, but the output text that it will produce will always be of fixed length.

哈希函数是一种数学函数,可将数字值转换为另一个压缩数字值。 哈希函数的输入值可以是任意长度,但是它将产生的输出文本始终是固定长度。

哈希函数的属性 (Properties of Hash Functions)

  1. Compressed output

    压缩输出

  2. Fixed Length Output

    定长输出

  3. Pre-Image Resistance

    像前电阻

  4. Second pre-Image Resistance

    二次成像前电阻

  5. Collision Resistance

    耐碰撞

应用程序和哈希函数 (Applications and of the hash functions)

Password storage:

密码存储:

Due to the pre-Image resistance and collision resistance property, the hash functions are ideal to use for storing the passwords. Therefore, the values that are stored in the database are the user-Id in its original form and the hash value of the password. Therefore, whenever you enter the Id and password into a system, it searches for the user-Id, if available, it matches the hash values of the entered password and the password that is already there in the database. If both are the same, then access is granted.

由于具有前图像抗性和抗碰撞性,因此哈希函数非常适合用于存储密码。 因此,存储在数据库中的值是原始形式的用户ID和密码的哈希值。 因此,每当您将Id和密码输入系统时,它都会搜索user-Id(如果可用),它将与输入密码的哈希值和数据库中已经存在的密码匹配。 如果两者相同,则授予访问权限。

This provides:

提供:

  1. Authentication:

    认证方式

    Whenever the user enters the id and password, the id is matched with the one with the present in the database, and the password entered is then and there converted into its hash value and is compared with that stored in the database.

    每当用户输入ID和密码时,ID就会与数据库中存在的ID进行匹配,然后将输入的密码转换为哈希值并与数据库中存储的哈希值进行比较。

  2. Provides high-level security:

    提供高级安全性

    The hash function technique provides extreme level security, because even if the hacker or attacker is successful in breaking into the system’s database, all he gets is the user-Id and the hash value of the password, and getting the original password form this hash value is almost impossible.

    哈希函数技术提供了最高级别的安全性,因为即使黑客或攻击者成功闯入系统数据库,他得到的只是用户ID和密码的哈希值,并从该哈希值获取原始密码几乎是不可能的。

Fig. The storage and Authentication methods for Id passwords.
Reference link: https://www.google.com/url?sa=i&rct=j&q=&esrc=s&source=images&cd=&ved=2ahUKEwi-vZHc4fXmAhWgIbcAHb5JBfgQjRx6BAgBEAQ&url=https%3A%2F%2Fwww.darkreading.com%2Fsafely-storing-user-passwords-hashing-vs-encrypting%2Fa%2Fd-id%2F1269374&psig=AOvVaw1p7DLjEAMSySYPZaaUqO_c&ust=1578633364016737

图:Id密码的存储和身份验证方法。
参考链接:https://www.google.com/url?sa=i&rct=j&q=&esrc=s&source=images&cd=&ved=2ahUKEwi-vZHc4fXmAhWgIbcAHb5JBfgQjRx6BAgBEAQ&url=https%3A%2F%2Fwww.darkreadinglytoring.com -passwordshashing-vs-encrypting%2Fa%2Fd-id%2F1269374&psig = AOvVaw1p7DLjEAMSySYPZaaUqO_c&ust = 1578633364016737

Data Integrity check:

数据完整性检查:

To maintain the data integrity, the sender sends both the message and its hash value to the user. The Receiver then checks whether the hash value of the message is the same as the hash value sent by the sender. This ensures that no modification has been done in the data while being transmitted. This process of integrity checks can be seen in email systems, messaging applications, etc. However, as everything takes place in the back-end, the user cannot identify this process.

为了保持数据完整性,发送方将消息及其哈希值发送给用户。 然后,接收方检查消息的哈希值是否与发送方发送的哈希值相同。 这样可以确保在发送时未对数据进行任何修改。 完整性检查过程可以在电子邮件系统,消息传递应用程序等中看到。但是,由于一切都在后端进行,因此用户无法识别此过程。

Digital Signature:

电子签名:

A signature is usually used to bind signatory to the message. The digital signature is thus a technique that binds a person or the entity to the digital data. This binding ensures that the person sending the data is solely responsible for being for it and this binding can be verified by the receiver and the third party. This digital signature is also stored using hash functions so that no one’s signature can be stolen and be misused.

签名通常用于将签名者绑定到消息。 因此,数字签名是将个人或实体绑定到数字数据的技术。 此绑定确保发送数据的人对此负全责,并且此绑定可以由接收方和第三方验证。 此数字签名也使用哈希函数存储,因此任何人的签名都不会被盗用或滥用。

翻译自: https://www.includehelp.com/cryptography/applications-of-hash-function.aspx

密码学哈希函数

密码学哈希函数_哈希函数在密码学中的应用相关推荐

  1. 哈希密码_哈希生日和密码

    哈希密码 什么是哈希函数? (What is a Hash function?) It's an algorithm that maps an input of arbitrary length to ...

  2. 除留余数法构造哈希表_哈希表算法原理

    基本概念 哈希表(Hash Table)是一种根据关键字直接访问内存存储位置的数据结构.通过哈希表,数据元素的存放位置和数据元素的关键字之间建立起某种对应关系,建立这种对应关系的函数称为哈希函数. 哈 ...

  3. go 调用其他文件函数_一文读懂Go中软件包概念

    Go编程语言的软件包管理和部署的完整概述 如果您熟悉Java或NodeJS之类的语言,那么您可能非常熟悉软件包. 包不过是带有一些代码文件的目录,该目录从单个引用点公开了不同的变量(功能). 让我解释 ...

  4. bool函数_有趣的函数绝无仅有

    靠其强大的功能,灵活的语法,丰富而强大的库Python成为了当前市场上靠前的火热编程语言.Python除了拥有众多的第三方库和方法函数外,自身也带有很多非常有趣的函数,用起来堪称优雅.今天主要为大家分 ...

  5. 尝试引用已删除的函数_学Excel函数公式,你必须要掌握这些知识

    函数与公式是Excel的特色之一,充分展示出其出色的计算能力,灵活使用函数与公式可以极大地提高数据处理分析的能力和效率. 今天我们分享的是函数和公式的定义,虽然都是最基本的知识,但理解并掌握Excel ...

  6. python 哈希表_哈希表哪家强?编程语言找你来帮忙!

    点击关注上方"五分钟学算法", 设为"置顶或星标",第一时间送达干货. 转自编程技术宇宙 哈希表华山论剑 比特宇宙编程语言联合委员会准备举办一次大会,主题为哈希 ...

  7. 中gcd函数_欧拉函数φ(n)的计算及欧拉定理

    1 欧拉函数定义 在数论中,对正整数n,欧拉函数φ(n)是小于或等于n的正整数中与n互质的数的数目.此函数以其首名研究者欧拉命名,它又称为φ函数(由高斯所命名)或是欧拉总计函数(totient fun ...

  8. onclick=两个函数_[译]React函数组件和类组件的差异

    [译]React函数组件和类组件的差异 原文: https://overreacted.io/how-are-function-components-different-from-classes/ 在 ...

  9. string.h包含哪些函数_多个函数组合拳专治不规则时间转化难题|Excel134

    小伙伴们好,今天分享一个关于不规则时间转换的小技巧. 这是Excel学员群里的学员提出的,我觉得这个案例很典型,所以分享给大家,希望能够帮助在此方面有同样困惑的小伙伴. 问题描述:计算A列学习时长的小 ...

  10. ltrim函数_常用基础函数

    今天分享的是一些常用的函数,类似于Python一样,SQL也支持用函数来处理数据,合理地使用会在日常工作中带了非常多地遍历. 去除空格函数:trim(), ltrim(), rtrim() selec ...

最新文章

  1. 初学者必备的数组相关知识点
  2. MySQL数据库的高可用方案总结
  3. eclipse开发java程序,断点调试
  4. npm install 安装软件,出现 operation not permitted, mkdir 'C:\Program Files\nodejs\node_cache'...
  5. html相对定位向上偏移,使用CSS的相对定位和偏移量
  6. hibernate mysql 时间_使用Hibernate和MySQL创建时间戳和最后更新时间戳
  7. 自然语言处理——词嵌入
  8. 4011-基于邻接表的深度优先遍历(C++,取巧做法)
  9. Java 借助ImageMagic实现图片编辑服务
  10. java sort 插入排序_插入排序(insertSort)
  11. vue.js解决刷新404找不到页面问题
  12. js获取单选按钮选项
  13. iOS开发计算工程里面的代码行数
  14. java mxml_Java 之 XML
  15. Google Data Studio:漂亮,免费,易于使用的数据可视化工具
  16. 图片文字怎么合并转发_怎么把图片和文字组合发微信
  17. java intern 与本身_java intern
  18. Greenplum小把戏 - 简单函数实现URL解码(URL Decode)- 同样适用于Deepgreen和PostgreSQL...
  19. Android常用颜色RGB值以及中英文名称
  20. OpenSSL 使用openssl工具搭建私有CA

热门文章

  1. JDK源码解析之 Java.lang.Object
  2. Microsoft BizTalk ESB Toolkit 2.0
  3. python生成器与迭代器。
  4. 来自我的破船大大的博客,记录他的iOS成长之路,与君同勉!
  5. 工业智能相机与基于PC的机器视觉的区别比较
  6. 如何设置Fedora默认从命令行启动?
  7. 【转载】架构师需要了解的Paxos原理、历程及实战
  8. 安装TPCC-MySQL报错
  9. 第五章(1)Libgdx应用框架之生命周期
  10. Centos下lnmp编译安装详细过程