2014-03-13 67 views
1

我有以下PHP函数来加密和解密数据。他们不是我自己写的。现在加密的数据存储在数据库中,我必须从那里读取它并使用python将其显示给用户。我试图谷歌它,但我没有找到任何适合我的需求。python相当于php mcrypt tripledes

希望有人提示我从哪里开始或有用的链接。

function Decrypt($input) { 
     $key = "xxx"; // 18 Signs 
     $iv = "xxx"; // 8 Signs 
     return mcrypt_decrypt(MCRYPT_TRIPLEDES, $key, base64_decode($input), MCRYPT_MODE_ECB, $iv); 
} 

function Encrypt($input) { 
    $key = "xxx"; // 18 Signs 
    $iv = "xxx"; // 8 Signs 
    return base64_encode(mcrypt_encrypt(MCRYPT_TRIPLEDES, $key, $input, MCRYPT_MODE_ECB, $iv)); 
} 

回答

3

有一个Python interface to the standard mcrypt library。它的文档......没有那么多......但我在它周围戳,并与一些代码,我认为上来复制您发布的PHP:

import mcrypt 
import base64 

KEY = 'xxx' 
IV = 'xxx' 
ALGORITHM = 'tripledes' 
MODE = 'ecb' 

def encrypt(data): 
    cryptor = mcrypt.MCRYPT(ALGORITHM, MODE) 
    cryptor.init(KEY, IV) 
    return base64.b64encode(cryptor.encrypt(data)) 

def decrypt(data): 
    cryptor = mcrypt.MCRYPT(ALGORITHM, MODE) 
    cryptor.init(KEY, IV) 
    return cryptor.decrypt(base64.b64decode(data)) 
+0

谢谢您的回答! –

+0

我只需要编辑:cryptor.init(KEY.ljust(KEY_SIZE,'\ 0'),IV),因为我的密钥很短。我设置了KEYSIZE = 24 –

+0

非常感谢你 –