Skip to content

Commit 8861100

Browse files
authored
Update README.md
1 parent 694406b commit 8861100

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

README.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,3 +55,14 @@ Passwords not in the list will show "Not found" with more than 99% probability,
5555
and with less than 1% probability "Found" or "Found; common".
5656

5757
Internally, the tool uses a xor+ filter (see above) with 8 bits per fingerprint. Actually, 1024 smaller filters (segments) are made, the segment id being the highest 10 bits of the key. The lowest bit of the key is set to either 0 (regular) or 1 (common), and so two lookups are made per password. Because of that, the false positive rate is twice of what it would be with just one lookup (0.0078 instead of 0.0039). A regular Bloom filter with the same guarantees would be ~760 MB. For each lookup, one filter segment (so, less than 1 MB) are read from the file.
58+
59+
60+
61+
# Implements of xor filters in other programming languages
62+
63+
* [Erlang](https://github.com/mpope9/exor_filter)
64+
* [Rust](https://github.com/codri/xorfilter-rs)
65+
* [C++](https://github.com/FastFilter/fastfilter_cpp)
66+
* [Go](https://github.com/FastFilter/xorfilter)
67+
* [C](https://github.com/FastFilter/xor_singleheader)
68+

0 commit comments

Comments
 (0)