diff --git a/wagtail/wagtailimages/utils.py b/wagtail/wagtailimages/utils.py index a521477ed..e9cbb4f56 100644 --- a/wagtail/wagtailimages/utils.py +++ b/wagtail/wagtailimages/utils.py @@ -5,8 +5,6 @@ import base64 import hmac import hashlib -from six import b - from PIL import Image from django.core.exceptions import ValidationError @@ -81,7 +79,7 @@ def generate_signature(image_id, filter_spec): # Based on libthumbor hmac generation # https://github.com/thumbor/libthumbor/blob/b19dc58cf84787e08c8e397ab322e86268bb4345/libthumbor/crypto.py#L50 url = str(image_id) + '/' + str(filter_spec) + '/' - return base64.urlsafe_b64encode(hmac.new(b(settings.SECRET_KEY), b(url), hashlib.sha1).digest()) + return base64.urlsafe_b64encode(hmac.new(settings.SECRET_KEY.encode(), url.encode(), hashlib.sha1).digest()) def verify_signature(signature, image_id, filter_spec): diff --git a/wagtail/wagtailimages/views/frontend.py b/wagtail/wagtailimages/views/frontend.py index 80ab989ff..b5ccf6e6e 100644 --- a/wagtail/wagtailimages/views/frontend.py +++ b/wagtail/wagtailimages/views/frontend.py @@ -10,7 +10,7 @@ from wagtail.wagtailimages import image_processor def serve(request, signature, image_id, filter_spec): image = get_object_or_404(get_image_model(), id=image_id) - if not verify_signature(signature, image_id, filter_spec): + if not verify_signature(signature.encode(), image_id, filter_spec): raise PermissionDenied try: