ブローフィッシュを使用して、既知のパスワードでphpのメッセージを暗号化したい。次に、このメッセージをPythonで復号化します。
これは、ある言語で暗号化し、他の言語で復号化したい場合でも役立ちます。
私はかなり広範囲に検索しましたが、決定的な解決策を見つけることができなかったので、私は自分の発見を記録することを考えました。
PythonやPHPなどの同じ言語で暗号化/復号化するのは非常に簡単であることに注意してください。
ブローフィッシュを使用して、既知のパスワードでphpのメッセージを暗号化したい。次に、このメッセージをPythonで復号化します。
これは、ある言語で暗号化し、他の言語で復号化したい場合でも役立ちます。
私はかなり広範囲に検索しましたが、決定的な解決策を見つけることができなかったので、私は自分の発見を記録することを考えました。
PythonやPHPなどの同じ言語で暗号化/復号化するのは非常に簡単であることに注意してください。
この解決策は非常に単純ですが、理解するのに少し時間がかかりました。
ブローフィッシュパラム
phpコード:
<?php
$passw='secretPassword12';
$ntext='helloWorld123456';
$enc = base64_encode(mcrypt_encrypt(MCRYPT_BLOWFISH, $passw, $ntext, MCRYPT_MODE_ECB));
echo '<div>'.$enc.'</div';
これにより、3C8f2kaD8Of0INYk3l9qEg==pythonコードが出力されます。
from Crypto.Cipher import Blowfish
from base64 import b64encode, b64decode
passw='secretPassword12'
ntext='helloworld123456'
cipher=Blowfish.new(passw, Blowfish.MODE_ECB)
encStr=b64encode(cipher.encrypt(data))
print encStr
このコードは3C8f2kaD8Of0INYk3l9qEg==も出力します
ここで、phpで暗号化されたPythonで文字列を復号化するとします。最初にb64decodeを実行してから、結果を復号化します。
Remember to pad your data such that the len is divisible by 16.
暗号化と復号化を楽しんでください!!!