0

python中是否有这种加密/解密的库?我正在尝试生成每一代都会发生变化的加密 ascii 文本。

如果没有这个库,请您建议一个可行的替代方案。已经尝试将此 PHP 代码转换为 python,但我失败了。

我目前使用的 PHP:

function keyED($txt,$encrypt_key)
{
    $ctr=0;
    $tmp = "";
    $txt_len=strlen($txt);
    for ($i=0;$i<$txt_len;$i++)
    {
        if ($ctr==strlen($encrypt_key)) $ctr=0;
        $tmp.= substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1);
        $ctr++;
    }
    return $tmp;
}

function encrypt($txt,$key)
{
    srand((double)microtime()*1000000);
    $encrypt_key = md5(rand(0,32000));
    $ctr = 0;
    $tmp = "";
    $txt_len = strlen($txt);
    for ($i=0;$i < $txt_len;$i++)
    {
        if ($ctr==strlen($encrypt_key)) $ctr=0;
        $tmp.= substr($encrypt_key,$ctr,1) . (substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1));
        $ctr++;
    }
    return keyED($tmp,$key);
}

function decrypt($txt,$key)
{
    $txt = keyED($txt,$key);
    $tmp = "";
    $txt_len=strlen($txt);
    for ($i=0;$i<$txt_len;$i++)
    {
        $md5 = substr($txt,$i,1);
        $i++;
        $tmp.= (substr($txt,$i,1) ^ $md5);
    }
    return $tmp;
}

$x = encrypt("test", "123");
echo decrypt($x, "123") // -> "test"
4

1 回答 1

1

永远不要编写自己的加密算法!有足够多的现有的已经被一遍又一遍地审查。

也就是说,有一个示例如何在此答案中将 AES 算法与 Python Crypto 模块一起使用:https ://stackoverflow.com/a/12525165

于 2013-07-18T22:48:43.553 回答