javascript 版本和 plsql 代码不返回相同的输出。
Javascript代码:
var hash = CryptoJS.HmacSHA256(StringToSign,l_secret_key);
var hashutf8 = CryptoJS.enc.Utf8.parse(hash);
var hashInBase64 = CryptoJS.enc.Base64.stringify(hashutf8);
stringtosign =
POST
d6acee532d731af58745efea44ba83a8
application/json
unix_time
/v2/user_auth_sign_in
l_secret_key = wBp1U6tFIw6Jzdy66v4mbRZB3P6Q6tjk
输出:ZDJkY2Y1YWNlOWU0MDY4MWZmmGZhMzQ2MjU0MGIzZTE0ODNjYjdkMjlhNjkxZDg5ZDg1N2Q3M2JjZDdiMDk1NA==
但是 PLSQL 中的类似代码返回不同的输出。
l_sig_mac :=
DBMS_CRYPTO.mac(UTL_I18N.string_to_raw(l_stringto_sign, 'AL32UTF8'), DBMS_CRYPTO.HMAC_SH256, UTL_I18N.string_to_raw(l_secret_key, 'AL32UTF8'));
l_base64_sig_mac := UTL_RAW.cast_to_varchar2(UTL_ENCODE.base64_encode(l_sig_mac));
DBMS_OUTPUT.put_line('MAC Signature (Base64-encoded): ' || l_base64_sig_mac);
输出:K3BObVJEcUVmNVNhV3NZN1ovQ2dIVGtZWU9rcTF2T0xaVGxzdFdkQ3lBZz0=
plsql 块中需要哪些更改以接收与 js 相同的输出?
谢谢