aboutsummaryrefslogtreecommitdiffstats
path: root/yt_dlp/aes.py
diff options
context:
space:
mode:
Diffstat (limited to 'yt_dlp/aes.py')
-rw-r--r--yt_dlp/aes.py18
1 files changed, 15 insertions, 3 deletions
diff --git a/yt_dlp/aes.py b/yt_dlp/aes.py
index 8503e3dfd..b37f0dd39 100644
--- a/yt_dlp/aes.py
+++ b/yt_dlp/aes.py
@@ -2,8 +2,15 @@ from __future__ import unicode_literals
from math import ceil
-from .compat import compat_b64decode, compat_pycrypto_AES
-from .utils import bytes_to_intlist, intlist_to_bytes
+from .compat import (
+ compat_b64decode,
+ compat_ord,
+ compat_pycrypto_AES,
+)
+from .utils import (
+ bytes_to_intlist,
+ intlist_to_bytes,
+)
if compat_pycrypto_AES:
@@ -25,6 +32,10 @@ else:
return intlist_to_bytes(aes_gcm_decrypt_and_verify(*map(bytes_to_intlist, (data, key, tag, nonce))))
+def unpad_pkcs7(data):
+ return data[:-compat_ord(data[-1])]
+
+
BLOCK_SIZE_BYTES = 16
@@ -506,5 +517,6 @@ __all__ = [
'aes_encrypt',
'aes_gcm_decrypt_and_verify',
'aes_gcm_decrypt_and_verify_bytes',
- 'key_expansion'
+ 'key_expansion',
+ 'unpad_pkcs7',
]