在Java和PHP之间加密/解密字符串
我使用AES加密来加密和解密服务器端的php和Android应用程序(作为客户端)之间的字符串 PHP中的加密字符串是:在Java和PHP之间加密/解密字符串,java,php,android,encryption,aes,Java,Php,Android,Encryption,Aes,我使用AES加密来加密和解密服务器端的php和Android应用程序(作为客户端)之间的字符串 PHP中的加密字符串是: HaxRKnMxT24kCJWUXaVvqDHahzurJQK+sYA4lIHql/U= 在Java中,它是: HaxRKnMxT24kCJWUXaVvqD/KMEkJTPTXEcCsHIYGX9TGtCNOHQcJyUURPk8qlgf3 我在PHP脚本中使用phpseclib来进行加密 我错过了什么 这里是相关的Java代码 SecretKeySpec skeySpe
HaxRKnMxT24kCJWUXaVvqDHahzurJQK+sYA4lIHql/U=
在Java中,它是:
HaxRKnMxT24kCJWUXaVvqD/KMEkJTPTXEcCsHIYGX9TGtCNOHQcJyUURPk8qlgf3
我在PHP脚本中使用phpseclib来进行加密
我错过了什么
这里是相关的Java代码
SecretKeySpec skeySpec = new SecretKeySpec(pad16(pass), "AES");
Cipher c = Cipher.getInstance("AES");
c.init(Cipher.ENCRYPT_MODE, skeySpec);
byte[] out = c.doFinal( input )
下面是PHP代码:
$aes = new Crypt_AES();
$aes->setKey('password');
$encrypted_encoded_text = base64_encode($aes->encrypt($plaintext));
为了使加密/解密能够跨不同的语言工作,几乎没有什么东西需要相同
你确定这两种语言的所有这些都是相同的吗?如果是,那么您的加密/解密应该能够完美地工作,除非实现中存在bug(这非常罕见,但也有可能)。在Java-PHP之间进行加密/解密时存在填充问题。查看此链接-@ManishSharma:噢,谢谢你提到填充!:)