我必须将一个 Web 应用程序从 Java 更新为 PHP,但我发现了一些难题……最大的问题是将 SHA1 从 Java 转换为 PHP,因为在我之前有人开发了一个浏览器扩展,需要特定的身份验证代码才能工作。 . 我不能更改插件,我只需要将网络应用程序从 java 转换为 php ...
这是代码:
private static final byte[] SecretKey;
public static String AuthCode(String url) {
byte[] urlBytes = url.getBytes("US-ASCII");
byte[] concatenated = new byte[SecretKey.length + urlBytes.length];
System.arraycopy(SecretKey, 0, concatenated, 0, SecretKey.length);
System.arraycopy(urlBytes, 0, concatenated, SecretKey.length, urlBytes.length);
byte[] hash = HashTools.calculateHash(concatenated, "SHA1");
return CodecTools.encodeBASE64(hash);
}
static {
SecretKey = new byte[] { 18, -15, -48, 73, 54, -115, 34, -87 };
}
现在,我发现很难将 SecretKey 从字节转换为 php 中的其他内容。因为 php 没有字节变量……而且我读到 php 中的 sha1 与 java 不同。
在 PHP 中,我无法制作数组字符的 sha1,它只需要一个字符串 ...
(其他stackoverflow答案仅建议如何将Java代码更改为等于php ..我需要PHP代码应该等于Java ...)
我希望有人能帮助我,因为我真的不了解 Java ......
谢谢大家 :)