Это называется "архиватор". Шифрование не уменьшает размер. Смотрите алгоритмы сжатия данных, начиная с простых (RLE, арифметическое кодирование, LZ* алгоритмы). Из простых готовых вариантов - zlib. Для коротких строк как у вас сжатие редко даёт выигрыш, есть смысл сжимать большие наборы данных типа книг, изображений, видео. Кстати, строка у вас в base64 формате. Если её оставить в исходном виде (набора байт), она будет занимать меньше места (но не сможете передать её по HTTP).
MD5 это хеш-сумма, притом необратимая. Тем более несколько различных наборов данных могут дать одну и ту же хеш-сумму. Так что это точно не ваш случай.