diff --git a/aos/BUILD b/aos/BUILD
index f1cb6ba..acef762 100644
--- a/aos/BUILD
+++ b/aos/BUILD
@@ -809,7 +809,18 @@
     target_compatible_with = ["@platforms//os:linux"],
     visibility = ["//visibility:public"],
     deps = [
+        "//aos/util:file",
         "@boringssl//:crypto",
         "@com_google_absl//absl/types:span",
     ],
 )
+
+cc_test(
+    name = "sha256_test",
+    srcs = ["sha256_test.cc"],
+    deps = [
+        ":sha256",
+        "//aos/testing:googletest",
+        "//aos/testing:tmpdir",
+    ],
+)
diff --git a/aos/sha256.cc b/aos/sha256.cc
index ae83792..cfeccde 100644
--- a/aos/sha256.cc
+++ b/aos/sha256.cc
@@ -7,6 +7,8 @@
 #include "absl/types/span.h"
 #include "openssl/sha.h"
 
+#include "aos/util/file.h"
+
 namespace aos {
 
 std::string Sha256(const absl::Span<const uint8_t> str) {
@@ -23,4 +25,13 @@
   return ss.str();
 }
 
+std::string Sha256(std::string_view str) {
+  return Sha256({reinterpret_cast<const uint8_t *>(str.data()), str.size()});
+}
+
+std::string Sha256OfFile(std::filesystem::path file) {
+  const std::string contents = aos::util::ReadFileToStringOrDie(file.string());
+  return Sha256(contents);
+}
+
 }  // namespace aos
diff --git a/aos/sha256.h b/aos/sha256.h
index 7fb9b2f..117bc14 100644
--- a/aos/sha256.h
+++ b/aos/sha256.h
@@ -1,6 +1,7 @@
 #ifndef AOS_SHA256_H_
 #define AOS_SHA256_H_
 
+#include <filesystem>
 #include <string>
 
 #include "absl/types/span.h"
@@ -9,6 +10,10 @@
 
 // Returns the sha256 of a span.
 std::string Sha256(const absl::Span<const uint8_t> str);
+std::string Sha256(std::string_view str);
+
+// Returns the Sha256 of the specified file. Dies on failure to read the file.
+std::string Sha256OfFile(std::filesystem::path file);
 
 }  // namespace aos
 
diff --git a/aos/sha256_test.cc b/aos/sha256_test.cc
new file mode 100644
index 0000000..33ab5ec
--- /dev/null
+++ b/aos/sha256_test.cc
@@ -0,0 +1,27 @@
+#include "aos/sha256.h"
+
+#include "gtest/gtest.h"
+
+#include "aos/testing/tmpdir.h"
+#include "aos/util/file.h"
+
+namespace aos::testing {
+
+constexpr const char *kTestString = "Test String";
+constexpr const char *kTestStringSha =
+    "30c6ff7a44f7035af933babaea771bf177fc38f06482ad06434cbcc04de7ac14";
+
+TEST(Sha256Test, ChecksumString) {
+  EXPECT_EQ(kTestStringSha, Sha256(kTestString));
+  EXPECT_EQ("2b4da12a4bfe66a061c24440521a9e5b994e4f0bcc47a17436275f5283bb6852",
+            Sha256("Test String 2"));
+}
+
+TEST(Sha256Test, ChecksumFile) {
+  const std::filesystem::path test_file =
+      aos::testing::TestTmpDir() + "/test.txt";
+  util::WriteStringToFileOrDie(test_file.string(), kTestString);
+  EXPECT_EQ(kTestStringSha, Sha256OfFile(test_file));
+}
+
+}  // namespace aos::testing
