所示为java函数的PHP等价物

所示为java函数的PHP等价物,java,php,android,Java,Php,Android,我制作了一个php脚本来与一个api交互,这个api是it开发人员为android设计的。但是这个Api的开发者没有发布它,他只有andriod应用程序的例子。所以我的任务是将这个java转换成php。对我来说,一切都很简单,因为它主要是post和解析json…我只有密码编码代码的问题,我无法用php编写。我只是尝试base64_编码,但如果我尝试的话,它是无效的。下面是java代码。我的java非常小,我需要为php翻译 import android.util.Base64; import j

我制作了一个php脚本来与一个api交互,这个api是it开发人员为android设计的。但是这个Api的开发者没有发布它,他只有andriod应用程序的例子。所以我的任务是将这个java转换成php。对我来说,一切都很简单,因为它主要是post和解析json…我只有密码编码代码的问题,我无法用php编写。我只是尝试base64_编码,但如果我尝试的话,它是无效的。下面是java代码。我的java非常小,我需要为php翻译

import android.util.Base64;
import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.PBEKeySpec;
import javax.crypto.spec.PBEParameterSpec;

public final class c
{

private Cipher a;
private Cipher b;
private final byte c[] = {
    -87, -101, -56, 50, 86, 53, -29, 3
};

public c(String s)
{
    PBEKeySpec pbekeyspec = new PBEKeySpec(s.toCharArray(), c, 20);
    try
    {
        SecretKey secretkey = SecretKeyFactory.getInstance("PBEWithMD5AndDES").generateSecret(pbekeyspec);
        a = Cipher.getInstance(secretkey.getAlgorithm());
        b = Cipher.getInstance(secretkey.getAlgorithm());
        PBEParameterSpec pbeparameterspec = new PBEParameterSpec(c, 20);
        a.init(1, secretkey, pbeparameterspec);
        b.init(2, secretkey, pbeparameterspec);
        return;
    }
    catch (Exception exception)
    {
        return;
    }
  }

  public final String a(String s)
  {
    String s1;
    try
    {
        s1 = Base64.encodeToString(a.doFinal(s.getBytes()), 0);
    }
    catch (Exception exception)
    {
        return null;
    }
    return s1;
  }
}
我有兴趣了解解码base64的公共最终字符串a(字符串s)的此功能:

<?php
$str = 'VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw==';
echo base64_decode($str);
?>

编码:

<?php
$str = 'This is an encoded string';
echo base64_encode($str);
?>

参考资料:


its用于密码加密,需要mcrypt