mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 05:31:20 +00:00 
			
		
		
		
	 325e9b8ef4
			
		
	
	
		325e9b8ef4
		
			
		
	
	
	
	
		
			
			This replaces the existing hashlib Blake2 module with a single implementation that uses HACL\*'s Blake2b/Blake2s implementations. We added support for all the modes exposed by the Python API, including tree hashing, leaf nodes, and so on. We ported and merged all of these changes upstream in HACL\*, added test vectors based on Python's existing implementation, and exposed everything needed for hashlib. This was joint work done with @R1kM. See the PR for much discussion and benchmarking details. TL;DR: On many systems, 8-50% faster (!) than `libb2`, on some systems it appeared 10-20% slower than `libb2`.
		
			
				
	
	
		
			5 lines
		
	
	
	
		
			171 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			5 lines
		
	
	
	
		
			171 B
		
	
	
	
		
			C
		
	
	
	
	
	
| #include <inttypes.h>
 | |
| 
 | |
| void Lib_Memzero0_memzero0(void *dst, uint64_t len);
 | |
| 
 | |
| #define Lib_Memzero0_memzero(dst, len, t, _ret_t) Lib_Memzero0_memzero0(dst, len * sizeof(t))
 |