diff --git a/chip_data/pyprd/util/hash.py b/chip_data/pyprd/util/hash.py
new file mode 100644
index 0000000..a807d0b
--- /dev/null
+++ b/chip_data/pyprd/util/hash.py
@@ -0,0 +1,42 @@
+def hash_string(num_bytes: int, string: str) -> int:
+    """
+    Converts a string into an integer hash value. This is primarily used to
+    convert register and isolation node names from the Chip and RAS Data into
+    integer values to save space in the data.
+    """
+
+    # This hash is a simple "n*s[0] + (n-1)*s[1] + ... + s[n-1]" algorithm,
+    # where s[i] is a chunk from the input string the length of i_bytes.
+
+    # Currently only supporting 1:8 byte hashes
+    assert 1 <= num_bytes and num_bytes <= 8
+
+    # Start hashing each chunk
+    sumA = 0
+    sumB = 0
+
+    # Iterate one chunk at a time
+    for i in range(0, len(string), num_bytes):
+        # Combine each chunk into a single integer value. If we reach the end
+        # of the string, pad with null characters.
+        chunk = 0
+        for j in range(0, num_bytes):
+            chunk <<= 8
+            chunk |= ord(string[i + j]) if (i + j < len(string)) else ord("\0")
+
+        # Apply the simple hash
+        sumA += chunk
+        sumB += sumA
+
+    # Mask off everything except the target number of bytes.
+    mask = 0xFFFFFFFFFFFFFFFF
+    sumB &= mask >> ((8 - num_bytes) * 8)
+
+    return sumB
+
+
+def hash_string_format(num_bytes: int, string: str) -> str:
+    """
+    Returns a formatted hex string of the given string's hash value.
+    """
+    return "{0:0{1}x}".format(hash_string(num_bytes, string), num_bytes * 2)
