Присоединяюсь ко всем предыдущим ораторам, но от себя добавлю:
Ваш шифр ещё менее надёжен чем стандартный XOR, так как функция md5 возвращает строку. В этой строке в каждой позиции может стоять один из 16 символов (а по хорошему символ маски должен покрывать весть байт целиком).
Что Вас сподвигло на разработку собственного шифра без знания криптографии?
Если вам просто нужно прятать какие то осмысленные текстовые последовательности в файле или другом наборе данных. чтобы они не были видны при беглом просмотре, то возможно Ваш шифр и подойдёт, но не более того.