python相当于php mcrypt tripledes

时间:2014-03-13 14:56:57

标签: python encryption

我有以下PHP函数来加密和解密数据。它们不是我自己写的。现在加密数据存储在数据库中,我必须从那里读取它并使用python将其显示给用户。我试着去谷歌,但我找不到任何符合我需求的东西。

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

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));
}

1 个答案:

答案 0 :(得分: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))