Linux/UNIX/*NIX strings command, in Cython
Project description
nixstrings
Linux/UNIX/*NIX strings command, in Cython
Over the years I've found many programs in digital forensics need this kind of functionality, some do it by piping strings with a subprocess, others use regexes, others implement a listcomp of their own.
Of those, usually the regex is the fastest, but it turns out you can actually go a bit faster with the help of C(ython).
This module has specialized functions that compile the comparisson of characters
values to get the results as fast as possible. On synthethic benchmarks, the
ascii_strings()
function is almost 5x faster than the equivalent regex (that
would berx = re.compile(f'[{ascii_printables}]{{4,}}')
and then
rx.findall(data)
), but on real case scenarios it's usually just 2x faster
before I/O becomes the main bottleneck.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for nixstrings-0.3.0-py3.10-win-amd64.egg
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5ce1fe63a7f39b44fe715ca26e1328d294c8df34f2045599fc7cafaea9ec95b9 |
|
MD5 | 34cff5432d92162099327e1aea9b6bf2 |
|
BLAKE2b-256 | 8e1d721af9a7a96d8b378c6df3c58c0be3fc4b0423a90770c5f350d92a7d7ebd |
Hashes for nixstrings-0.3.0-py3.10-win32.egg
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6d3606988a2719463e2644d634cdcf36849e11968f7705cb7deca14043bebde7 |
|
MD5 | 9c3918c437b56cbfcb7bbd4894c420da |
|
BLAKE2b-256 | 9d50989c51206ef7c3429278c3799acba21750d7f4df4ebfc6a55dba88000956 |
Hashes for nixstrings-0.3.0-py3.10-macosx-10.15-x86_64.egg
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4c9e2f6e11f24feb6c87ba39b6cdcd63f4c7f27797e1be2c490b2f709663c2ec |
|
MD5 | 8bb550c264a23620520906a3583f7a51 |
|
BLAKE2b-256 | b4c7b4257d59e6355825aa99a8d33f284719a06d1197c706cfb2bd27a04fdc7a |
Hashes for nixstrings-0.3.0-py3.9-win-amd64.egg
Algorithm | Hash digest | |
---|---|---|
SHA256 | eef5108ea9617144b544d2de3a1a62d3b77c2c4f483a0aff1ba591170e1cb807 |
|
MD5 | 9deb3db14733d25c217f4f95b2c64082 |
|
BLAKE2b-256 | 5a89e9abdd194888fca55b895cac76b740d4f43ce497e9e966861bb4034eb788 |
Hashes for nixstrings-0.3.0-py3.9-win32.egg
Algorithm | Hash digest | |
---|---|---|
SHA256 | deb27907b60c44c63e6420d9201f2d55132d9f3c7743f01a46c236eb5cd6824f |
|
MD5 | 2f7f7eaf3c3500323d783fb9131ab94a |
|
BLAKE2b-256 | 10ccad2af355e6bb0ecc1318c44d3f285508ce205f91ad1223afc147244b8eb1 |
Hashes for nixstrings-0.3.0-py3.9-macosx-10.15-x86_64.egg
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e4b3c357b5bb48cfd3cdac07c63cef8dfb5e931dfa042333f265f435e6990ef |
|
MD5 | a3d9398a1b3aecaf087c03075388c5fc |
|
BLAKE2b-256 | a2006d289b9a384f56af4aae9f2cc9bc2e5d450d31bd53011975f6318772839d |
Hashes for nixstrings-0.3.0-py3.8-win-amd64.egg
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4f311457e2428bbd6005df4d84ae0e8f80dd17b328fd0896d7fe0abf1e0f0790 |
|
MD5 | 4811a909b54175de556aec29723704ad |
|
BLAKE2b-256 | 56274e1b0e1aa539ea82f019f12abc0e589aca254f53d4c23cf7b7e008ef651d |
Hashes for nixstrings-0.3.0-py3.8-win32.egg
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e18048835445bf6d865eeb8b27d78133bf5a898c5014d939f7c14fa2485191a |
|
MD5 | af1fd584243eb435dd03e55b7587828b |
|
BLAKE2b-256 | 2f8dd855dda487a969c1624bba46be0c25c91d526de716a70915daefee8007fc |
Hashes for nixstrings-0.3.0-py3.8-macosx-10.15-x86_64.egg
Algorithm | Hash digest | |
---|---|---|
SHA256 | 24e079b1eed4f25e7ff3fb046b6a1637d4ed269caa1a6117483e69a30e62854f |
|
MD5 | 033f80afefce0fe738c1c4ee463b2e5f |
|
BLAKE2b-256 | 83e3dbc22e38b84c41c528105e38b9d1c4b49366776023e690104b986e23d41c |
Hashes for nixstrings-0.3.0-py3.7-win-amd64.egg
Algorithm | Hash digest | |
---|---|---|
SHA256 | bb289e3fc8227893625d6fb5c34d31779b8d57a46ccab9a428c949d0df13bb18 |
|
MD5 | 7e8029aa63d984a6e96fbef7c8bc9957 |
|
BLAKE2b-256 | 2114adeac9d62a61b717c4962b650484fbaf719d3f873f9ae5e9724203a4f355 |
Hashes for nixstrings-0.3.0-py3.7-win32.egg
Algorithm | Hash digest | |
---|---|---|
SHA256 | 92f5d925219200957be07ea65657941d7850fb977b979b11d2ef31f9611e20b2 |
|
MD5 | 61586a7b27df62c796983ab9744419d1 |
|
BLAKE2b-256 | 496be91acc9d936ede504d3d2a3dfafdf671162ac93fbdca4132ffc2e3ae8d60 |
Hashes for nixstrings-0.3.0-py3.7-macosx-10.15-x86_64.egg
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1be6f1d21903f068b71b216a73526bc4cf24fc20cd346c2083f66137bd964f95 |
|
MD5 | d47fea67fbd93b9df18c2b06abfe4c0c |
|
BLAKE2b-256 | c53b4231c8b8624cab544e8d062ea992e53bf7ff8a3ccab0457b49ffb21ac09d |
Hashes for nixstrings-0.3.0-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5fab6433a5d81fa72a12f7da265f0047f30440b13828fc2d0dc244f104c730a8 |
|
MD5 | 31dfac97a618b7fefb9226017a468dae |
|
BLAKE2b-256 | f040f61b562265683eafcaf9f248f02c5a6394704a62484abc6bf449ce85d8d4 |
Hashes for nixstrings-0.3.0-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8a7af33071dbb9038dfc0d0a839e441a50306268bdf732c5ee9817ebea540848 |
|
MD5 | 0cc2633026077a15f56aadeb7b54117b |
|
BLAKE2b-256 | 14cd647e285d0e7aa9be4f3b9af1029ed4ad95c7ecc16a1bc7d77d1dfe7bd4d2 |
Hashes for nixstrings-0.3.0-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 70d730281e1b55ea201aa1a06abc3acd66d61f02f149f7df705e804b4b7cbb08 |
|
MD5 | 4745cab3dbbf1695c7be0b050b4799b3 |
|
BLAKE2b-256 | ca3a4e4dddc46210c67f4ce791651c557a3cdecc5870687aab59cbce90b08cac |
Hashes for nixstrings-0.3.0-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 90498a75ba9d99fef4b2c77c30c33e062c0ab30752ac32d131f119890496a8c1 |
|
MD5 | 181d97197d5e60e12af7021659507d00 |
|
BLAKE2b-256 | f1a9df4b0791cc110845dbe7485ffc4a4d12c772ec6e374147d5dd1c6a5ac2a0 |
Hashes for nixstrings-0.3.0-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f286be0b7d2d27e0d4219add207828e8a0ca9a7ce188ccbd6ee06f86ed0bdcb |
|
MD5 | 6fdcbee29cb0089344eb8025bafa1947 |
|
BLAKE2b-256 | 1f8e27f5bc32c8f9744cc37ee67700198a006dd6cda46cf82ca4df490798b71e |
Hashes for nixstrings-0.3.0-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6a745325340a12779343317d14743b4ca94c728310d1260814430dab47e4f4a3 |
|
MD5 | 26b32ea4ba0d7bea9b06994e6a173faa |
|
BLAKE2b-256 | 8e3da46ef67d03ac34fb569e0153f30e08d45ed312da43a439834ba06c55f996 |
Hashes for nixstrings-0.3.0-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0b9a1561c579cc439f1593f7cc9d4f002be0b0e399da0fde7dfe9f056a15a20e |
|
MD5 | 18cd14d6a9655609c3e8a69d9758a30b |
|
BLAKE2b-256 | 349a4584309da4545f32cf8ff8d93ac1b2cdcd58e04fd92f809edfee66f1715c |
Hashes for nixstrings-0.3.0-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0bfe96589471fd37ab564c8b2da700732dc0246e12616ac5071138625a922e27 |
|
MD5 | 7246ef6500fb6997a2e7f4c037d18b39 |
|
BLAKE2b-256 | 85b835be3b9dba222d5d4f2c53cb69c1f024aec77172eff5cb6fc0494a8d4bd6 |
Hashes for nixstrings-0.3.0-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 04722b96ac975719c2161117fdde2e081ca313cb60b70d63bd535a47d53ceea1 |
|
MD5 | 2a7fd519cc25ce8b287ec03e4a1c298e |
|
BLAKE2b-256 | 749ead9b8de92f9553a69269b97f9f58313da1713dd58d3e857a3753d9d5e834 |
Hashes for nixstrings-0.3.0-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c06518434501d0ee86fd5ee0a564bdfc89f9897e8683f257b561be9ee71d7bb1 |
|
MD5 | e5bd768cf76721559b62b95458142353 |
|
BLAKE2b-256 | 7ba921c8f153539b92c531114ab56e14e963f41bf771bf9c9ce406a067006202 |
Hashes for nixstrings-0.3.0-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 16bedf6f2b7f03b4754c6ae885005db83f2ba4c4e1c2d10c8080ae0fab250a7f |
|
MD5 | 90a1b8efbf8ecd1353bbf9bae84825ea |
|
BLAKE2b-256 | 8edc9289dd9ddf6288be8f5a9c25b53f3eeeac31c973debc216e69589018ec11 |
Hashes for nixstrings-0.3.0-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e426d58c8c2c7bf1b9f77d443ca59d310a9c834f6c10d961d32553913ff00b6f |
|
MD5 | be5c710d0fbb4fd1c3888bf8fa6eac56 |
|
BLAKE2b-256 | 27ca35aa1be23b2e12a04941849fa6f5312780eeaaa0abb33bbbc253e7b90fe8 |