2016-08-10 2 views
0

Ich versuche, eine Zeichenfolge in Python mit 3DES verschlüsselt entschlüsseln. Es wird von meinem offiziellen Partner von VB.net verschlüsselt. Ich habe keine Ahnung, was vor sich geht. Der Teil-Code in VB.net istPython TripleDES Entschlüsselung

Private key() As Byte = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24} 
Private iv() As Byte = {65, 110, 68, 26, 69, 178, 200, 219} 
Private objTripleDES As New clsTripleDES(key, iv) 

Der Code ähnlich ist, ist zu https://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=1564&lngWId=10

Ist es möglich, in Python zu entschlüsseln? Muss ich Bytearray verwenden?

+0

Werfen Sie einen Blick auf [pyDes lib] (http://twhiteman.netfirms.com/des.html) – Raskayu

Antwort

0

Wie wäre es etwa so:

from Crypto.Cipher import DES3 

key = [ 
    1, 2, 3, 4, 5, 6, 7, 8, 
    9, 10, 11, 12, 13, 14, 15, 16, 
    17, 18, 19, 20, 21, 22, 23, 24 
] 

iv = [65, 110, 68, 26, 69, 178, 200, 219] 

keyStr = "" 
ivStr = "" 

for i in key: 
    keyStr += chr(i) 

for i in iv: 
    ivStr += chr(i) 

encr = DES3.new(keyStr, DES3.MODE_CBC, ivStr) 
decr = DES3.new(keyStr, DES3.MODE_CBC, ivStr) 

#Outputs "1234567891234567" 
print decr.decrypt(encr.encrypt("1234567891234567")) 

Sie sollten untersuchen, welche Modus für die Verschlüsselung in VB-Code verwendet wurde. CBC ist der Standardmodus gemäß this, aber Sie können nicht sicher sein. Siehe this, wenn Sie herausfinden, welcher Modus verwendet wurde.

Verwandte Themen