INNER CODE UNIT · JavaScript

generateSignature

obgnail/typora_plugin · plugin/article_uploader/uploaders/csdn/index.js:130

const generateSignature = (uuid, url) => {
  const ekey = process.env.ALIBABA_CLOUD_EKEY
  const xCaKey = process.env.ALIBABA_CLOUD_XCA_KEY
  if (!ekey || !xCaKey) {
    throw new Error("Missing Alibaba Cloud credentials. Set ALIBABA_CLOUD_EKEY and ALIBABA_CLOUD_XCA_KEY environment variables.")
  }

  const CryptoJS = require("./crypto-js/core")
  require("./crypto-js/hmac")
  require("./crypto-js/sha256")
  require("./crypto-js/enc-base64")

  const _url = new URL(url).pathname
  const toEnc = `POST\napplication/json, text/plain, */*\n\napplication/json;\n\nx-ca-key:${xCaKey}\nx-ca-nonce:${uuid}\n${_url}`
  const hmac = CryptoJS.HmacSHA256(toEnc, ekey)
  return CryptoJS.enc.Base64.stringify(hmac)
}

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…