签名采用 HmacSHA1 算法。 Java 签名算法参考
public static void main(String[] args) throws Exception { String tenant= "tenant"; String group = "group"; String timeStamp = String.valueOf(System.currentTimeMillis()); String abc = HmacSHA1Encrypt(tenant+ "+" + group + "+" + timeStamp , "1234"); System.out.println(abc); } public static String HmacSHA1Encrypt(String encryptText, String encryptKey) throws Exception { byte[] data = encryptKey.getBytes("UTF-8"); // 根据给定的字节数组构造一个密钥,第二参数指定一个密钥算法的名称 SecretKey secretKey = new SecretKeySpec(data, "HmacSHA1"); // 生成一个指定 Mac 算法 的 Mac 对象 Mac mac = Mac.getInstance("HmacSHA1"); // 用给定密钥初始化 Mac 对象 mac.init(secretKey); byte[] text = encryptText.getBytes("UTF-8"); byte[] textFinal = mac.doFinal(text); // 完成 Mac 操作, base64编码,将byte数组转换为字符串 return new String(Base64.encodeBase64(textFinal)); } Shell 签名算法
timestamp=echo $[$(date +%s%N)/1000000]
signStr=$namespace+$group+$timestamp signContent=echo -n $signStr | openssl dgst -hmac $sk -sha1 -binary | base64
echo $signContent
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。