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

独自の暗号アルゴリズムを作成しないでください。すでに何度も何度もレビューされている既存のものは十分にあります。

そうは言っても、この回答には、Python Crypto モジュールで AES アルゴリズムを使用する方法の例があります: https://stackoverflow.com/a/12525165

于 2013-07-18T22:48:43.553 に答える