• 网安小贴士(4)哈希函数


    一、前言

           哈希函数是密码学中的基础工具,哈希函数在密码学中扮演着至关重要的角色,广泛应用于确保数据的安全性完整性。随着技术的发展,新的哈希算法和应用场景也在不断出现。  

     二、定义 

           哈希函数是一种数学函数,它接受一个输入(或“消息”),然后返回一个固定大小的字符串,通常是十六进制的数字,这个输出被称为哈希值消息摘要

    三、特性

    确定性:相同的输入总是产生相同的输出。
    单向性:从哈希值几乎不可能推导出原始输入。
    均匀性:输入的微小变化会导致哈希值的显著变化。
    抗碰撞性:找到两个不同的输入,它们产生相同的输出,这是计算上不可行的。

    四、用途

    数据完整性:验证数据是否在传输或存储过程中被篡改。
    密码存储:安全地存储用户密码。
    数字签名:确保数据的来源完整性
    区块链技术:构建加密货币分布式账本的基础。

    五、常见哈希算法

    1.MD5:曾经广泛使用,但现在已不推荐,因为存在安全漏洞。
    2.SHA-1:被认为不够安全,特别是在需要高安全性的场合。
    3.SHA-2:包括SHA-256、SHA-512等,是目前广泛使用的哈希算法。
    4.SHA-3:基于Keccak算法,是SHA-2的后续算法。
    5. 密码学安全:哈希函数在设计时需要考虑到抵抗各种已知的密码学攻击,包括生日攻击和碰撞攻击。
    6. 盐值(Salt):在密码存储中,盐值是一个随机值,与用户密码结合后再进行哈希处理,以增强密码的安全性。
    7. 密钥哈希函数:某些哈希函数可以设计为需要密钥,用于构建如HMAC(Hash-based Message Authentication Code)这样的消息认证码。
    8. 哈希链:通过将一个哈希值作为下一个哈希函数的输入,可以创建一个哈希链,用于跟踪数据的完整性顺序
    9. 区块链中的哈希函数:在区块链技术中,哈希函数用于链接区块,确保链的完整性不可篡改性
    10. 量子计算对哈希函数的影响:量子计算机的出现可能对某些哈希函数的安全性构成威胁,因此后量子密码学正在研究能够抵抗量子攻击的哈希函数。

     结语  

    千万别迷恋网络游戏

    有本事就玩好人生这场大游戏

    !!!

  • 相关阅读:
    VUE3 TS 大前端 JS 打印 兼容 批量分页打印
    【数据结构与算法】不就是数据结构
    软件测试还只是点点点吗?不要吃了技术的大亏
    Flutter组件--TabBar使用详情(分段控制器)
    java 生成 pdf,支持中文显示
    操作系统(Operating System)知识点复习——第八章 虚拟内存
    大数据学习之Spark基础
    【世界历史】第二集——文明的曙光
    SOLID,面向对象设计五大基本原则
    Java基础函数式编程
  • 原文地址:https://blog.csdn.net/m0_73399576/article/details/140112963