
Product
Introducing Rust Support in Socket
Socket now supports Rust and Cargo, offering package search for all users and experimental SBOM generation for enterprise projects.
github.com/JeffDeCola/my-go-tools/cryptography-tools/sha256-hash-file
Get an sha256 hash (fingerprint) from an input file using the standard
crypto/sha256
package.
I also added a flag to read in your .ssh/id_rsa.pub
key to get your ssh fingerprint.
tl;dr,
# INSTALL VIA GO
go install sh256-hash-file.go
# GET SH256 FINGERPRINT ON FILE
sha256-hash-file testfile.txt
# GET SH256 FINGERPRINT ON KEY FILE
sha256-hash-file -ssh ~/.ssh/id_rsa.pub
Table of Contents
Documentation and Reference
In a nutshell, the guts of the code is,
plainTextBytes := []byte(plainText)
// HASH
sha256HashByte := sha256.Sum256(plainTextBytes)
// CONVERT TO STRING
sha256Hash := base64.RawStdEncoding.EncodeToString(sha256HashByte[:])
You will need the following go packages,
go get -u -v github.com/sirupsen/logrus
To run.sh,
go run . testfile.txt
go run sha256-hash-file.go testfile.txt
go run sha256-hash-file.go testfile.txt -loglevel trace
If you run on testfile.txt your sha256 hash shall be,
r2pN5Sjq43jggvxvW34cT6s662//HfyemRss38ZA+vk
You may also use the -ssh flag to read in a public ssh key file,
go run . -ssh ~/.ssh/id_rsa.pub
go run sha256-hash-file.go -ssh ~/.ssh/id_rsa.pub
go run sha256-hash-file.go -ssh ~/.ssh/id_rsa.pub -loglevel trace
Its nice because you can check you have the right fingerprint at github.com/settings/keys.
You can also run the unix command to check your sha256,
ssh-keygen -lf ~/.ssh/id_rsa.pub
To create _test files,
gotests -w -all sha256-hash-file.go
To unit-tests.sh,
go test -cover ./... | tee test/test_coverage.txt
cat test/test_coverage.txt
Will place an executable in your go bin,
go install sha256-hash-file.go
sha256-hash-file {-h|-v|-ssh} [FILENAME] -loglevel [level]
Help,
sha256-hash-file -h
Version,
sha256-hash-file -v
Check your public ssh file,
sha256-hash-file -ssh ~/.ssh/id_rsa.pub
Can use trace, info or error,
sha256-hash-file -ssh ~/.ssh/id_rsa.pub -loglevel trace
FAQs
Unknown package
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket now supports Rust and Cargo, offering package search for all users and experimental SBOM generation for enterprise projects.
Product
Socket’s precomputed reachability slashes false positives by flagging up to 80% of vulnerabilities as irrelevant, with no setup and instant results.
Product
Socket is launching experimental protection for Chrome extensions, scanning for malware and risky permissions to prevent silent supply chain attacks.