私はこのlibを使ってAndroidでAES暗号化文字列を作成し、この文字列をMySQLに追加します。PHPを使用してAESを復号化する方法は?
これは、LIBのパラメータです:
今、私はPHPで文字列を復号化する:
これは、暗号化文字列です:
Plaintext: a
z8OVzJvtKHPCdT6PeFoEww==(encrypt)
その後、私はこれを復号化したいですPHPを使用している私のウェブサーバ上の文字列。
私はこのコードを使用しますが、それは何か間違って持っている:
require "connect.php";
$sql_query = "SELECT * FROM user_info";
$result = mysqli_query($con,$sql_query);
$name_en="";
$row = mysqli_fetch_assoc($result);
$name_en = $row['name'];
echo $name_en;
$password = "123456789";
$iv = "0000000000000000";
echo "<br/>";
echo $password;
echo "<br/>";
$cipher = mcrypt_module_open(MCRYPT_RIJNDAEL_128,'','cbc','');
mcrypt_generic_init($cipher, $password, $iv);
$decrypted = mdecrypt_generic($cipher,base64_encode($name_en));
mcrypt_generic_deinit($cipher);
echo $decrypted;
をしかし、結果は次のとおりです。
z8OVzJvtKHPCdT6PeFoEww==
123456789
#�7��T26�r���v��u�T[|�9`��.���
は、事前のためにありがとうございます。
[PHP AESの暗号化/復号化](https://stackoverflow.com/questions/3422759/php-aes-encrypt-decrypt) –
mcryptを使用しないことをお勧めします。これはabandonwareです。何年も更新されておらず、標準のPKCS#7(néePKCS#5)パディングをサポートしていません。バイナリでも使用できない非標準のヌルパディングデータ。 mcryptには、2003年にさかのぼる多くの傑出したバグ(https://sourceforge.net/p/mcrypt/bugs/)があります。PHP 7.2では廃止予定のmcrypt拡張機能は削除されます。代わりに[defuse](https://github.com/defuse/php-encryption)または[RNCryptor](https://github.com/RNCryptor)を使用することを検討してください。これらは完全な解決策を提供し、維持され、正しいものです。 – zaph