Пример #1
0
def hashtar( secret, data ):
	mac = newmac( secret, digestmod = sha256 )
	f = BytesIO( decodestring( data ) )
	with TarFile.open( mode = 'r', fileobj = f ) as tf:
		members = tf.getmembers()
		files = [m for m in members if m.isfile()]
		files.sort( key = attrgetter( 'name' ) )
		for f in files: mac.update( f.tobuf() )
	return mac.hexdigest()