mirror of
				https://github.com/noDRM/DeDRM_tools.git
				synced 2025-10-23 23:07:47 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			30 lines
		
	
	
	
		
			858 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
	
		
			858 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| #!/usr/bin/env python
 | |
| # vim:ts=4:sw=4:softtabstop=4:smarttab:expandtab
 | |
| 
 | |
| 
 | |
| def load_pycrypto():
 | |
|     try :
 | |
|         from Crypto.Cipher import DES as _DES
 | |
|     except:
 | |
|         return None
 | |
| 
 | |
|     class DES(object):
 | |
|         def __init__(self, key):
 | |
|             if len(key) != 8 :
 | |
|                 raise ValueError('DES improper key used')
 | |
|             self.key = key
 | |
|             self._des = _DES.new(key,_DES.MODE_ECB)
 | |
|         def desdecrypt(self, data):
 | |
|             return self._des.decrypt(data)
 | |
|         def decrypt(self, data):
 | |
|             if not data:
 | |
|                 return ''
 | |
|             i = 0
 | |
|             result = []
 | |
|             while i < len(data):
 | |
|                 block = data[i:i+8]
 | |
|                 processed_block = self.desdecrypt(block)
 | |
|                 result.append(processed_block)
 | |
|                 i += 8
 | |
|             return ''.join(result)
 | |
|     return DES
 | 
