Merge pull request #1464 from patrickslin/patch-7
Unable to decrypt signature length 93 (fixes #1461)
This commit is contained in:
		
						commit
						7a878d47fa
					
				
					 2 changed files with 7 additions and 1 deletions
				
			
		| 
						 | 
				
			
			@ -1,10 +1,14 @@
 | 
			
		|||
#!/usr/bin/env python
 | 
			
		||||
# encoding: utf-8
 | 
			
		||||
 | 
			
		||||
# Generate youtube signature algorithm from test cases
 | 
			
		||||
 | 
			
		||||
import sys
 | 
			
		||||
 | 
			
		||||
tests = [
 | 
			
		||||
    # 93 - vfl79wBKW 2013/07/20
 | 
			
		||||
    (u"qwertyuioplkjhgfdsazxcvbnm1234567890QWERTYUIOPLKJHGFDSAZXCVBNM!@#$%^&*()_-+={[]}|:;?/>.<'`~\"€",
 | 
			
		||||
     u".>/?;:|}][{=+-_)(*&^%$#@!MNBVCXZASDFGHJKLPOIUYTREWQ098765'321mnbvcxzasdfghjklpoiu"),
 | 
			
		||||
    # 92 - vflQw-fB4 2013/07/17
 | 
			
		||||
    ("qwertyuioplkjhgfdsazxcvbnm1234567890QWERTYUIOPLKJHGFDSAZXCVBNM!@#$%^&*()_-+={[]}|:;?/>.<'`~\"",
 | 
			
		||||
     "mrtyuioplkjhgfdsazxcvbnq1234567890QWERTY}IOPLKJHGFDSAZXCVBNM!@#$%^&*()_-+={[]\"|:;"),
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -416,7 +416,9 @@ class YoutubeIE(YoutubeBaseInfoExtractor, SubtitlesInfoExtractor):
 | 
			
		|||
    def _decrypt_signature(self, s):
 | 
			
		||||
        """Turn the encrypted s field into a working signature"""
 | 
			
		||||
 | 
			
		||||
        if len(s) == 92:
 | 
			
		||||
        if len(s) == 93:
 | 
			
		||||
            return s[86:29:-1] + s[88] + s[28:5:-1]
 | 
			
		||||
        elif len(s) == 92:
 | 
			
		||||
            return s[25] + s[3:25] + s[0] + s[26:42] + s[79] + s[43:79] + s[91] + s[80:83]
 | 
			
		||||
        elif len(s) == 90:
 | 
			
		||||
            return s[25] + s[3:25] + s[2] + s[26:40] + s[77] + s[41:77] + s[89] + s[78:81]
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue