Skip to content

Instantly share code, notes, and snippets.

@Hooace
Forked from onnimonni/validate_sha256sum
Created September 22, 2017 12:52
Show Gist options
  • Save Hooace/94f42d2d107f4e4cf13bb721c5c63218 to your computer and use it in GitHub Desktop.
Save Hooace/94f42d2d107f4e4cf13bb721c5c63218 to your computer and use it in GitHub Desktop.
Shell script to validate file sha256 hashes. I use this to check if downloaded binaries are correct in Dockerfiles. This might make updating harder but at least it you see which parts have been updated since the last run.
#!/bin/sh
##
# This script contains helper for sha256 validating your downloads
#
# Source: https://gist.github.com/onnimonni/b49779ebc96216771a6be3de46449fa1
# Author: Onni Hakala
# License: MIT
##
# Stop program and give error message
# $1 - error message (string)
error () {
echo "ERROR: $1"
exit 1
}
# return sha256sum for file
# $1 - filename (string)
get_sha256sum() {
cat $1 | sha256sum | head -c 64
}
# Good variable names pls
filename=$1
file_hash=$2
# Check input
if [ -z "$filename" ]; then
error "You need to provide filename in first parameter"
fi
if [ -z "$file_hash" ]; then
error "You need to provide sha256sum in second parameter"
fi
# Check if the file is valid
if [ ! -f $filename ];
then
error "File $filename doesn't exist"
elif [ "$(get_sha256sum $filename)" = "$file_hash" ]; then
echo "Success: $filename matches provided sha256sum"
else
error "$filename doesn't match provided sha256sum"
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment