So the problem I am currently having is that my program always calls the \'md5cypher\' class which I have defined, even if the input is not in that list:
def
You have a fundamental misunderstanding of how boolean operators work in python.
You have to consider the operator precedences, and then your condition becomes
if (toe=='md5') or ('M') or ('m') or ('Md5') or ('MD5'):
which is equivalent to
if (toe=='md5') or True:
which of course is always true. A solution to your problem would be
if toe.lower() in ('m', 'md5'):