2017-07-29 10 views
0

私はこのlibを使ってAndroidでAES暗号化文字列を作成し、この文字列をMySQLに追加します。PHPを使用してAESを復号化する方法は?

これは、LIBのパラメータです:

enter image description here

今、私は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`��.��� 

は、事前のためにありがとうございます。

+1

[PHP AESの暗号化/復号化](https://stackoverflow.com/questions/3422759/php-aes-encrypt-decrypt) –

+0

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

答えて

0

AESで暗号化されている場合は、AESで復号化する必要があります。私はそこにaes_encrypt()とaes_decrypt()のための関数が組み込まれていると思う。

+0

私はあなたが何を意味するかわからない、私はこのlibをAndroid上の文字列を暗号化するために使用し、mysqlに追加します。それから私はPHPで解読したい。 –

+0

解読するaes_decrypt()関数を試すことができます - AES暗号化された文字列を解読するためにPHPに組み込まれた関数 – Farsay

+0

決して、私はそれを知らないのですか? –

関連する問題