3 ÝPf2 ã @ sz d dl mZ d dlZd dlmZmZmZ d dlmZ d dl m Z mZmZ dZ dddgZG d d „ d eƒZG dd„ deƒZdS ) é )Úabsolute_importN)ÚHashMismatchÚHashMissingÚInstallationError)Úread_chunks)Ú iteritemsÚiterkeysÚ itervaluesZsha256Zsha384Zsha512c @ sJ e Zd ZdZddd„Zdd„ Zdd„ Zd d „ Zdd„ Zd d„ Z dd„ Z dS )ÚHasheszaA wrapper that builds multiple hashes at once and checks them against known-good values Nc C s |dkri n|| _ dS )zo :param hashes: A dict of algorithm names pointing to lists of allowed hex digests N)Ú_allowed)ÚselfÚhashes© r ú/usr/lib/python3.6/hashes.pyÚ__init__ s zHashes.__init__c C s´ i }xJt | jƒD ]<}ytj|ƒ||<