我正在尝试使用apache commons HTTP Client连接到第三方应用程序API.我正在尝试连接的API是
http://wiki.kayako.com/display/DEV/REST+API.
API要求我传递API密钥和签名以及用于创建签名的salt.
根据API文档,这些是创建签名的步骤
>生成随机字符串以创建salt(在PHP中,您将使用mt_and()来执行此操作)
>通过使用SHA256散列盐来生成签名,并使用密钥作为密钥(在PHP中,您将使用hash_hmac()来执行此操作)
> base64编码签名(在PHP中,你将使用base64_encode()来执行此操作)
> URL编码输出(在PHP中,您将使用urlencode()来执行此操作)
更新
根据我得到的回复,我更改了一些代码并使用Kayako创建了一个模拟帐户来测试API
我正在使用以下类来生成签名
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.security.GeneralSecurityException;
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import org.bouncycastle.util.encoders.Base64Encoder;
public class GenSign2 {
public static void main(String[]