└── README.md /README.md: -------------------------------------------------------------------------------- 1 | ## HIBPBloomFilter 2 | 3 | This is a [Bloom filter](https://en.wikipedia.org/wiki/Bloom_filter) for the [HIBP Offline Check](https://github.com/mihaifm/HIBPOfflineCheck) KeePass plugin. 4 | 5 | This repository contains only the filter in binary format, the source code for generating it can be found in the [HIBPOfflineCheck](https://github.com/mihaifm/HIBPOfflineCheck) repository. 6 | You can generate the filter from the plugin options in under one hour. On a modern system with a SSD this time can be reduced to under 15 minutes. 7 | 8 | For convenience however, you can download the filter directly from this repository's releases. 9 | 10 | ### Bloom Filter characteristics 11 | 12 | **Size**: 1.03 GB 13 | **False positive rate**: approx. 0.1% 14 | **Capacity**: 613584246 items (hashed passwords) 15 | **Hashing algorithm**: [MurMurHash3](http://blog.teamleadnet.com/2012/08/murmurhash3-ultra-fast-hash-algorithm.html) 16 | 17 | ### Binary file format 18 | 19 | |Offset (bytes)|Length (bytes)|Name|Type|Description| 20 | |---|---|---|---|---| 21 | |0|8|Capacity|long|The number of items in the filter| 22 | |8|4|ErrorRate|float|Theoretical false positive rate| 23 | |12|8|BitCount|ulong|Number of bits in the filter| 24 | |20|4|NumHashFuncs|int|Number of hash functions. Actually the same hash function is used multiple times with different seeds| 25 | |24|4|Algorithm|int|Not used at the moment. Reserved for future use, in case the hashing algorithm changes| 26 | |28||Bloom filter||Bloom filter data divided into arrays of 64 * 1024 * 1024 bytes| 27 | --------------------------------------------------------------------------------