diff --git a/mailchimp3/helpers.py b/mailchimp3/helpers.py
index <HASH>..<HASH> 100644
--- a/mailchimp3/helpers.py
+++ b/mailchimp3/helpers.py
@@ -3,6 +3,7 @@
 Helper functions to perform simple tasks for multiple areas of the API
 """
 import hashlib
+import re
 
 HTTP_METHOD_ACTION_MATCHING = {
     'get': 'GET',
@@ -16,17 +17,27 @@ HTTP_METHOD_ACTION_MATCHING = {
 def get_subscriber_hash(member_email):
     """
     The MD5 hash of the lowercase version of the list member's email.
-    Uses as memeber_id
+    Used as subscriber_hash
 
     :param member_email: The member's email address
     :type member_email: :py:class:`str`
     :returns: The md5 hash in hex
     :rtype: :py:class:`str`
     """
+    if not re.search('@', member_email):
+        raise SyntaxError('String passed is not a valid email address')
     member_email = member_email.lower().encode()
     m = hashlib.md5(member_email)
     return m.hexdigest()
 
+
+def check_subscriber_hash(potential_hash):
+    if re.match('^[0-9a-f]{32}$', potential_hash):
+        return potential_hash
+    else:
+        return get_subscriber_hash(potential_hash)
+
+
 def merge_two_dicts(x, y):
     """
     Given two dicts, merge them into a new dict as a shallow copy.
Add and update helpers to better serve subscriber hashes

* New check_subscriber_hash() function that will check if a string is an MD5
  hash and attempt to convert an email to a hash if not
* Update get_subscriber_hash() function to raise a SyntaxError if the string
  is not an email address (does not have an @ sign)