PHP使用salt,key和iv解密加密文本

时间:2016-12-31 08:08:11

标签: php android encryption

在我的Android应用程序中,我可以加密这样的简单文本:

String     key        = "YourKey";
String     salt       = "YourSalt";
byte[]     iv         = new byte[16];
Encryption encryption = Encryption.getDefault(key, salt, iv);
String encrypted = encryption.encryptOrNull("Text to be encrypt");
Log.e("encrypted text ", encrypted);

我正在使用library

现在我加密文本后,我想通过PHP解密它。有没有解决办法呢?

2 个答案:

答案 0 :(得分:2)

该库似乎只是Java,没有其他语言的端口。关于算法的文档非常稀少,因此为它编写PHP等价物并不容易。那对你没用。

您需要利用 实现标准算法的库,如 RSA AES或具有PHP绑定,比如MCrypt

更新:评论@LukePark suggestsmcrypt is insecure,应避免使用。

更新:作为评论中的@zaph clarifies,像RSA这样的非对称算法不适合加密数据,通常会使用AES等对称加密算法进行数据处理。

答案 1 :(得分:2)

我发现RNCryptor库似乎是一个不错的选择(我需要更多测试)。

AES 文件格式,包含多种语言的实现。 支持的当前语言列表:

  

Java,PHP,Ruby,Swift,JavaScript,Phyton,Objective-C,Haskell,   Rust,C,C ++,C#,Erlang,Go

https://github.com/RNCryptor