mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 06:35:12 +00:00 
			
		
		
		
	[test] Add tests for aes
This commit is contained in:
		
							
								
								
									
										36
									
								
								devscripts/generate_aes_testdata.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								devscripts/generate_aes_testdata.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,36 @@ | ||||
| from __future__ import unicode_literals | ||||
|  | ||||
| import codecs | ||||
| import subprocess | ||||
|  | ||||
| import os | ||||
| import sys | ||||
| sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) | ||||
|  | ||||
| from youtube_dl.utils import intlist_to_bytes | ||||
| from youtube_dl.aes import aes_encrypt, key_expansion | ||||
|  | ||||
| secret_msg = b'Secret message goes here' | ||||
|  | ||||
|  | ||||
| def hex_str(int_list): | ||||
|     return codecs.encode(intlist_to_bytes(int_list), 'hex') | ||||
|  | ||||
|  | ||||
| def openssl_encode(algo, key, iv): | ||||
|     cmd = ['openssl', 'enc', '-e', '-' + algo, '-K', hex_str(key), '-iv', hex_str(iv)] | ||||
|     prog = subprocess.Popen(cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE) | ||||
|     out, _ = prog.communicate(secret_msg) | ||||
|     return out | ||||
|  | ||||
| iv = key = [0x20, 0x15] + 14 * [0] | ||||
|  | ||||
| r = openssl_encode('aes-128-cbc', key, iv) | ||||
| print('aes_cbc_decrypt') | ||||
| print(repr(r)) | ||||
|  | ||||
| password = key | ||||
| new_key = aes_encrypt(password, key_expansion(password)) | ||||
| r = openssl_encode('aes-128-ctr', new_key, iv) | ||||
| print('aes_decrypt_text') | ||||
| print(repr(r)) | ||||
		Reference in New Issue
	
	Block a user
	 Jaime Marquínez Ferrándiz
					Jaime Marquínez Ferrándiz