Skip to content

Instantly share code, notes, and snippets.

@yzdann
Created April 20, 2019 11:28
Show Gist options
  • Save yzdann/66cfa4e466b846ffbd128ae22af14346 to your computer and use it in GitHub Desktop.
Save yzdann/66cfa4e466b846ffbd128ae22af14346 to your computer and use it in GitHub Desktop.
A simple SHA256 hashing example, written in Python using hashlib
#!/bin/bash
# Generates ten data files, each 300 MB in size and filled with random data.
[[ ! -d "data/" ]] && mkdir "data/"
for i in {1..10}; do
dd if="/dev/random" of="data/file${i}" bs=1m count=300
done
#!/usr/bin/env python
import hashlib
import sys
def sha256_checksum(filename, block_size=65536):
sha256 = hashlib.sha256()
with open(filename, 'rb') as f:
for block in iter(lambda: f.read(block_size), b''):
sha256.update(block)
return sha256.hexdigest()
def main():
for f in sys.argv[1:]:
checksum = sha256_checksum(f)
print(f + '\t' + checksum)
if __name__ == '__main__':
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment