万象优图OCR行驶证识别接口一直返回5?

  • 回答 (2)
  • 关注 (0)
  • 查看 (424)
Mon.9Mon.9修改于
腾讯云AI中心

腾讯云 · 产品经理 (已认证)

腾讯云AI产品经理回答于

生成的签名内容不对,java版本的签名方式可以参考一下这个:

/*

* Copyright 2017, Tencent Inc

* All rights reserved.

*

* Created on 2017年9月12日

*/

package sign;

import java.util.Base64;

import java.util.Random;

import javax.crypto.Mac;

import javax.crypto.spec.SecretKeySpec;

public class Sign {

/**

* 生成Autorization签名字段

*

* @param appId

* @param secretId

* @param secretKey

* @param bucketName

* @param expired

* @return

* @throws Exception

*/

public static String appSign(long appId, String secretId, String secretKey, String bucketName,

long expired) throws Exception {

long now = System.currentTimeMillis() / 1000;

int rdm = Math.abs(new Random().nextInt());

String plainText = String.format("a=%d&b=%s&k=%s&t=%d&e=%d&r=%d", appId, bucketName,

secretId, now, now + expired, rdm);

byte[] hmacDigest = HmacSha1(plainText, secretKey);

byte[] signContent = new byte[hmacDigest.length + plainText.getBytes().length];

System.arraycopy(hmacDigest, 0, signContent, 0, hmacDigest.length);

System.arraycopy(plainText.getBytes(), 0, signContent, hmacDigest.length,

plainText.getBytes().length);

return Base64Encode(signContent);

}

/**

* 生成base64编码

*

* @param binaryData

* @return

*/

public static String Base64Encode(byte[] binaryData) {

String encodedstr = Base64.getEncoder().encodeToString(binaryData);

return encodedstr;

}

/**

* 生成hmacsha1签名

*

* @param binaryData

* @param key

* @return

* @throws Exception

*/

public static byte[] HmacSha1(byte[] binaryData, String key) throws Exception {

Mac mac = Mac.getInstance("HmacSHA1");

SecretKeySpec secretKey = new SecretKeySpec(key.getBytes(), "HmacSHA1");

mac.init(secretKey);

byte[] HmacSha1Digest = mac.doFinal(binaryData);

return HmacSha1Digest;

}

/**

* 生成hmacsha1签名

*

* @param plainText

* @param key

* @return

* @throws Exception

*/

public static byte[] HmacSha1(String plainText, String key) throws Exception {

return HmacSha1(plainText.getBytes(), key);

}

}

用户5027255回答于

可能回答问题的人

  • Y. Ji

    5 粉丝0 提问1 回答
  • Superbeet

    4 粉丝0 提问0 回答
  • daiye

    1 粉丝0 提问0 回答
  • DJ213

    0 粉丝0 提问0 回答
  • 罗罗可爱多

    腾讯 · 高级研究员 (已认证)

    8 粉丝0 提问4 回答
  • 晏栋栋栋

    1 粉丝0 提问1 回答

扫码关注云+社区

领取腾讯云代金券