From d00e73c8ea0d86b6c769eee1828f488f7f98879e Mon Sep 17 00:00:00 2001 From: deezerdl Date: Wed, 24 May 2017 22:52:32 +0000 Subject: [PATCH] unittest for aes_ecb_encrypt --- test/test_aes.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/test/test_aes.py b/test/test_aes.py index 78a28751b..0c2dfa5dd 100644 --- a/test/test_aes.py +++ b/test/test_aes.py @@ -8,9 +8,10 @@ import sys import unittest sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) -from youtube_dl.aes import aes_decrypt, aes_encrypt, aes_cbc_decrypt, aes_cbc_encrypt, aes_decrypt_text +from youtube_dl.aes import aes_decrypt, aes_encrypt, aes_cbc_decrypt, aes_cbc_encrypt, aes_decrypt_text, aes_ecb_encrypt from youtube_dl.utils import bytes_to_intlist, intlist_to_bytes import base64 +from binascii import a2b_hex # the encrypted data can be generate with 'devscripts/generate_aes_testdata.py' @@ -41,6 +42,16 @@ class TestAES(unittest.TestCase): encrypted, b"\x97\x92+\xe5\x0b\xc3\x18\x91ky9m&\xb3\xb5@\xe6'\xc2\x96.\xc8u\x88\xab9-[\x9e|\xf1\xcd") + def test_ecb_encrypt(self): + key = a2b_hex("0123456789abcdeff0e1d2c3b4a59687") + data = a2b_hex("6b77b4d63006dee605b156e27403979358deb9e7154616d90123456789abcdef") + check = a2b_hex("1498ad525d546566da51197e5cd8c5487360057efbf565f10de06b58626aef28") + + data = bytes_to_intlist(data) + key = bytes_to_intlist(key) + encrypted = intlist_to_bytes(aes_ecb_encrypt(data, key)) + self.assertEqual(encrypted, check) + def test_decrypt_text(self): password = intlist_to_bytes(self.key).decode('utf-8') encrypted = base64.b64encode(