阅读更多

2顶
0踩

编程语言
Python开发团队今天对4个主要分支进行了更新,发布了2.6.8、2.7.3、3.1.5和3.2.3版本,这些版本主要修复了几个重要的安全漏洞,其中包括之前已经危及多个编程语言的哈希碰撞漏洞


Python中的哈希漏洞基于dict和set类型,攻击者可利用特殊的输入语句导致超长的计算时间,甚至拒绝服务。具体来说,攻击者可以通过哈希碰撞来计算成千上万的键值,这会导致构造哈希表时的二元算法复杂性。

为了缓解这一问题,新版本中增加了Python字符串类型、datetime.date和datetime.datetime的哈希随机化功能,这可以防止攻击者计算这些类型的碰撞键值。

事实上,不接受不受信任的输入的Python应用程序不容易受到这类攻击。以上提到的Python稳定版本中,哈希随机化默认被禁用,可以通过以下两种方法来启用:

  • 通过-R命令行选项。
  • 设置环境变量PYTHONHASHSEED的值为“random”。
这些版本还修复了expat XML解析库中的哈希安全问题,主要与Python core类型有关。现在expat库中使用的哈希算法已经被随机化了。

在这些版本中,其中Python 2.7.3和3.2.3包括安全补丁和正常的bug修复,2.6.8和3.1.5版本中只包含了各种安全补丁。建议Python开发者尽快升级至最新版本。

下载地址:

  • 大小: 2.5 KB
  • 大小: 2.5 KB
  • 大小: 2.5 KB
2
0
评论 共 7 条 请登录后发表评论
7 楼 田梦桦 2012-04-13 11:08
升级  升级
6 楼 foodyi 2012-04-13 08:43
黑客是做好的QA啊
5 楼 oaklet 2012-04-12 21:09
windows版本的Python 3.2与linux的Python 3.2哈希算法差别不知道解决了没有,whirlpool
4 楼 java_fans 2012-04-12 19:05
[flash=200,200][/flash][color=red][/color]
3 楼 java_fans 2012-04-12 19:05
      
2 楼 obullxl 2012-04-12 18:50
forcer521 写道
现在才修复啊

确实慢了点~
1 楼 forcer521 2012-04-12 11:17
现在才修复啊

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 【Python知识】 可哈希和不可哈希对象

    在python中,每个数据都是对象的。可是对象与对象是不同的。可以分可哈希对象和不可哈希对象,其存储方式不同。本文针对这个话题展开。

  • python中的哈希 hash

    python中的 哈希 hash

  • [Python] 字典及底层哈希

    哈希冲突4.哈希表的高效查找5.Python的字典操作创建字典初始化字典获取键值访问/更新/添加字典删除其他操作参考链接 Python中的字典是以个键值映射的数据结构。 Python的dict采用了哈希表实现,最快能在O(1)时间内...

  • Python之哈希表

    哈希表 1. 哈希表 哈希表(Hash Table, 又称为散列表),是一种线性表的存储结构。哈希表由一个直接寻址表和一个哈希函数组成。哈希函数h(k)将元素关键字k作为自变量,返回元素的存储下标。 2. 冲突 由于哈希表的...

  • Python 算法之 设计哈希集合

    Python 算法之 设计哈希集合 文章目录Python 算法之 设计哈希集合哈希集合超大数组拉链法散列表 哈希集合 到底 什么是哈希集合???? 超大数组 拉链法 散列表

  • 哈希冲突-哈希碰撞

    当我们对某个元素进行哈希运算,得到一个存储地址,然后要进行插入的时候,发现已经被其他元素占用了,其实这就是所谓的哈希冲突,也叫哈希碰撞。 哈希函数的设计至关重要,好的哈希函数会尽可能地保证 计算简单和...

  • Python数据结构:哈希表

    哈希散列(哈希)是电脑科学中一种对资料的处理方法,通过某种特定的函数/算法(称为散列函数/算法)将要检索的项与用来检索的索引(称为散列,或者散列值)关联起来,生成一种便于搜索的数据结构(称为散列表)。...

  • 面试算法-哈希表|利用python实现哈希表的解法的讲解

    利用python解决哈希表的算法题,提供解题思路。

  • 【python里面的哈希冲突】

    python的哈希机制概述

  • Universal Hashing全域哈希原理与python实现,减少hash冲突/碰撞!

    全域哈希原理与实现1-hash哈希介绍2-Universal hashing全域哈希法3-构造一个全域哈希H\mathcal{H}H4-python实现 1-hash哈希介绍 hash函数y=h(k)y=h(k)y=h(k),把任意长度的输入kkk通过散列算法hhh变换成固定长度的...

  • 对Python中哈希的理解

    在学习哈希的过程中,使用的是python,由于python中的字典使用起来非常方便,但不利于对哈希的本质理解。因此写这篇文章来总结对哈希的理解。 初学者,总结有不严谨处,还请见谅。 下面是摘录的对哈希表的定义: ...

  • 基于Python实现的哈希算法

    哈希(Hash)算法也称散列算法...在Python语言中生成哈希值很简单,既可通过其内置的hash()函数,也可以通过hashlib模块的MD5算法来实现。(2)雪崩效应:原始输入信息如果有任何的改变,产生的哈希值将会有很大的不同。

  • python中可哈希是什么意思_python 中倒是什么事可哈希的意思那?

    hashable ≈ imutable 可哈希 ≈ 不可变在Python中:list、set和dictionary 都是可改变的,比如可以通过list.append(),set.remove(),dict[‘key‘] = value对其进行修改,所以它们都是不可哈希的;而tuple和string...

  • 解决哈希碰撞的方法

    什么是Hash哈希碰撞(也叫“冲突”) 对应不同的关键字可能获得相同的hash地址,即 key1 ≠ key2,但是H(key1) = H(key2)。 这种现象就是冲突,而且这种冲突只能尽可能的减少,不能完全避免。为什么不能完全避免? ...

  • Python哈希算法模块hashlib

    `hashlib`模块实现了多种哈希算法,包括MD5以及SHA家族的算法,通过`algorithms_guaranteed`可以查看`hashlib`中封装的所有算法

  • 哈希表的介绍_以Python为例

    数据结构篇——哈希表(以Python为例) 一、哈希表介绍 ​散列表(Hash table(英译), 也称哈希表(音译)),是根据关键码值(Key Value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个...

  • python---感知哈希算法

    某些情况下,我们需要检测图片之间的相似性,比较简单、易用的解决方案是采用感知哈希算法 感知哈希算法是一类算法的总称,包括aHash、pHash、dHash。顾名思义,感知哈希不是以严格的方式计算Hash值,而是以更加相对...

  • 【算法】局部敏感哈希 LSH 的 Python 实现

    哈希算法是要避免碰撞冲突,而局部敏感哈希(Locality-Sensitive Hashing, 下面我们简称LSH)则相反,是要创造更多的碰撞冲突。 二、局部敏感哈希 在很多领域中,经常会使用最近邻查找,例如人脸匹配、指纹匹配等,...

  • python的可哈希和不可哈希

    python的可哈希和不可哈希哈希函数字典的键集合的对象自定义对象的哈希值整型、浮点型、字符串的哈希值Python中可哈希和不可变 哈希函数 先来看一下官方文档上面对hashable的说明: 如果一个对象在其生命周期内有一...

  • 哈希碰撞

    一、什么是哈希碰撞 所谓哈希(hash),就是将不同的输入映射成独一无二的、固定长度的值(又称"哈希值")。它是最常见的软件运算之一。如果不同的输入得到了同一个哈希值,就发生了"哈希碰撞"(collision)。 二、...

Global site tag (gtag.js) - Google Analytics