Python中mcrypt的tripledes等效实现
我有一些用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 个回答
3
有一个Python接口可以使用标准的mcrypt库。它的文档嘛……不太好找……不过我在里面摸索了一下,写了一些代码,我觉得这段代码可以实现你在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))