Кодирование строки в NetSuite SuiteScript 2.0 - PullRequest
0 голосов
/ 16 мая 2018

Я должен выполнить следующую кодировку для строки:

  1. Рассчитать значение хеш-функции SHA1 с выводом в шестнадцатеричном формате
  2. Применить код BASE64 к полученному хешу

Я пытаюсь сделать это в приведенном ниже коде, «str» - это входные данные и «переварить» окончательную закодированную строку.

Я пробовал разные способы без особого успеха. Текущий код (ниже) выдает ошибку:

WrappedException: Wrapped java.lang.IllegalArgumentException: содержит недопустимый символ для hexBinary: crypto.SecretKey

var str = nonce + timestamp + secret;

var secureString = HTTPS.createSecureString({
        input: str
    });

secureString = secureString.hash({
        algorithm: CRYPTO.HashAlg.SHA1
    });

var hexString = HTTPS.createSecretKey({
        encoding: HTTPS.Encoding.HEX,
        guid: secureString
    });

var digest = ENCODE.convert({
        string: hexString,
        inputEncoding: ENCODE.Encoding.HEX,
        outputEncoding: ENCODE.Encoding.BASE_64
    });
...