from django.utils.hashcompat import md5_constructor drop_chars = ''.join(['%c' % c for c in range(32)]) + ' ' def cache_key_clean(value): """ Make a key of the first up to 228 valid characters of the value, appended with the md5 of the whole value. """ md5_hash = md5_constructor(value).hexdigest() return ''.join([value.translate(None,drop_chars)[:228], md5_hash])