A very simple system integrity script based on SHA-2.
Compute SHA-512 hash code for file, path (recursive or not).
Compute hash code for a file:
# systemintegrity.py -f README.md
3db8954bee744e31461b6e3bd94d416b3e3a9a6a211cfd5683361fc371e85eee15ab7fcaea8e63c5467464af030d7c30c7dac68afa04bc2821a6ddbe8d82c1c2 README.md
Compute hash code for files in a folder:
# systemintegrity.py -f .
12df041dd3428bf26b403462c131abe978cd0702ee19278b265ceec4dbb80ba014c9fc0f155701876d664f9973f4ef8fd0350cbfd4a125a336d9fc8ed85a5b9c ./MANIFEST.in
b35972a6826a6502a733192d36a90ffa554052ec7995ec9a7d42eb1af1a68c16012bff5c6307879cd729109a4acabec855b8c0c3e0ca4060648c5c2ffa92dda0 ./AUTHORS
c95125280a96a34429a558780354467f55a19a220558791a1e162b3762848740e2be7c1719f803ccef3d24b0ffccc13a8674e3251f6ff25d6c7654fc8f75741d ./.gitignore
c1a2988c0cf133e6a41f5acc4f66d709f601e2ea2448c25804deb03e0546bfd3406c217ab2e52aaf5d38cdc3ecc9481537beca82b2bb8fb42b01553e14a702c9 ./uninstall.sh
515caa1fe6b61eb9d252cb7a14240f9119e9580a0a24dd1e88a9abcc02ddb0b04560876808331e70d295a96815044ba9bcd6510f5c16834d49c1d17e30d86289 ./LICENSE
608b9009862b0999f08866534150c5c3f87c294e76f30c06371e9419ec486f791b42db440f64f1bcb84b3e1a62c0aebb11e9cb17adabbf4f20cbceba7ef7f0ee ./README.md
343aa1c3e7be87e69fb06667182db3b01f1fc431af0ba0b85461903fd211bdf35a66c6e7338ce1972c3bfe0f04dc8bd660d0ed7741d43e7e552b2d18172aaf53 ./setup.py
Compute hash code for all the file in a folder (recursively):
# systemintegrity.py -f . -r
12df041dd3428bf26b403462c131abe978cd0702ee19278b265ceec4dbb80ba014c9fc0f155701876d664f9973f4ef8fd0350cbfd4a125a336d9fc8ed85a5b9c ./MANIFEST.in
b35972a6826a6502a733192d36a90ffa554052ec7995ec9a7d42eb1af1a68c16012bff5c6307879cd729109a4acabec855b8c0c3e0ca4060648c5c2ffa92dda0 ./AUTHORS
c95125280a96a34429a558780354467f55a19a220558791a1e162b3762848740e2be7c1719f803ccef3d24b0ffccc13a8674e3251f6ff25d6c7654fc8f75741d ./.gitignore
c1a2988c0cf133e6a41f5acc4f66d709f601e2ea2448c25804deb03e0546bfd3406c217ab2e52aaf5d38cdc3ecc9481537beca82b2bb8fb42b01553e14a702c9 ./uninstall.sh
515caa1fe6b61eb9d252cb7a14240f9119e9580a0a24dd1e88a9abcc02ddb0b04560876808331e70d295a96815044ba9bcd6510f5c16834d49c1d17e30d86289 ./LICENSE
608b9009862b0999f08866534150c5c3f87c294e76f30c06371e9419ec486f791b42db440f64f1bcb84b3e1a62c0aebb11e9cb17adabbf4f20cbceba7ef7f0ee ./README.md
343aa1c3e7be87e69fb06667182db3b01f1fc431af0ba0b85461903fd211bdf35a66c6e7338ce1972c3bfe0f04dc8bd660d0ed7741d43e7e552b2d18172aaf53 ./setup.py