Я должен выполнить следующую кодировку для строки:
- Рассчитать значение хеш-функции SHA1 с выводом в шестнадцатеричном формате
- Применить код 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
});