首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java和PHP之间的加密/解密字符串

Java和PHP之间的加密/解密字符串
EN

Stack Overflow用户
提问于 2012-01-06 11:24:55
回答 1查看 2.8K关注 0票数 3

我使用AES加密对服务器端的php和Android应用程序(作为客户端)之间的字符串进行加密和解密。

PHP中的加密字符串是:

代码语言:javascript
复制
HaxRKnMxT24kCJWUXaVvqDHahzurJQK+sYA4lIHql/U=

在Java中,它是:

代码语言:javascript
复制
HaxRKnMxT24kCJWUXaVvqD/KMEkJTPTXEcCsHIYGX9TGtCNOHQcJyUURPk8qlgf3

我正在使用PHP脚本中的phpseclib进行加密。

我在这里错过了什么?

这里的相关Java代码

代码语言:javascript
复制
SecretKeySpec skeySpec = new SecretKeySpec(pad16(pass), "AES");
Cipher c = Cipher.getInstance("AES");
c.init(Cipher.ENCRYPT_MODE, skeySpec);
byte[] out = c.doFinal( input )

这里的PHP代码:

代码语言:javascript
复制
$aes = new Crypt_AES();
$aes->setKey('password');
$encrypted_encoded_text =  base64_encode($aes->encrypt($plaintext));
EN

回答 1

Stack Overflow用户

发布于 2012-01-06 11:33:47

要使加密/解密跨不同语言工作,几乎没有什么东西需要相同。

  1. 加密算法(duh!)
  2. Key (duh,再一次!)
  3. 密钥大小
  4. 操作模式(ECB,CBC,Vector (If CBC,不需要ECB)

H 111填充方案

也许还有更多的因素.

你确定这两种语言都是一样的吗?如果是,那么您的加密/解密应该完美无缺,除非在实现中有一个bug (这是非常罕见的,但可能的)。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8757101

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档