diff --git a/contentcuration/contentcuration/utils/secretmanagement.py b/contentcuration/contentcuration/utils/secretmanagement.py index d94b1b35c7..c17b8c00b1 100644 --- a/contentcuration/contentcuration/utils/secretmanagement.py +++ b/contentcuration/contentcuration/utils/secretmanagement.py @@ -3,9 +3,9 @@ import os import six -from crcmod.predefined import mkPredefinedCrcFun from google.cloud import kms from google.cloud.storage import Client +from google_crc32c import value as _crc32c ENV_VARS = "ENV_VARS" KMS_GCS = 2 @@ -127,5 +127,4 @@ def crc32c(data): Returns: An int representing the CRC32C checksum of the provided bytes. """ - crc32c_fun = mkPredefinedCrcFun('crc-32c') - return crc32c_fun(six.ensure_binary(data)) + return _crc32c(six.ensure_binary(data)) diff --git a/requirements.in b/requirements.in index c72aba150e..1a7bb47094 100644 --- a/requirements.in +++ b/requirements.in @@ -26,6 +26,7 @@ django-db-readonly==0.7.0 oauth2client django-mathfilters google-cloud-kms==2.0.0 +google-crc32c==1.1.2 backoff backports-abc==0.5 django-model-utils==4.3.1 @@ -40,4 +41,3 @@ python-dateutil>=2.8.1 jsonschema>=3.2.0 importlib-metadata==1.7.0 django-celery-results -crcmod==1.7 diff --git a/requirements.txt b/requirements.txt index 48de98f8d2..76ab760019 100644 --- a/requirements.txt +++ b/requirements.txt @@ -54,8 +54,6 @@ click-repl==0.2.0 # via celery confusable-homoglyphs==3.2.0 # via django-registration -crcmod==1.7 - # via -r requirements.in django==3.2.18 # via # -r requirements.in @@ -130,7 +128,9 @@ google-cloud-logging==2.3.1 google-cloud-storage==1.41.1 # via -r requirements.in google-crc32c==1.1.2 - # via google-resumable-media + # via + # -r requirements.in + # google-resumable-media google-resumable-media==1.3.0 # via google-cloud-storage googleapis-common-protos[grpc]==1.57.0