与SAPUI5/Javascript不同的SHA256的ABAP字符串

2020-09-05 17:07发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 当前在我的SAPUI...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

当前在我的SAPUI5项目中,我正在使用此代码行创建HMAC编码的字符串;

 var secretKey = CryptoJS.enc.Hex.parse('SECRETKEY'); //使用CRYPTOJS库!
 var hash = CryptoJS.HmacSHA256('abc',secretKey);
 hashInBase64 = CryptoJS.enc.Base64.stringify(hash); 

我正在使用CryptoJS库在UI5中执行此代码。

但是,问题是当我想在ABAP中执行相同的操作时,我收到了错误的HMAC编码字符串。 经过几次测试后,似乎在计算HMAC之前,编码(以abap方式)是错误的。

是否有一个执行'CryptoJS.enc.Hex.parse()'的功能模块-在谷歌搜索之后 它会做什么,将参数解释为已编码,然后将其转换为单词数组。

数据:
       lv_sign_key_x TYPE xstring,
       lv_hmac_result TYPE字符串。

 DATA(lv_binary_secret)= cl_abap_hmac => string_to_xstring('SECRETKEY')。

     cl_abap_hmac => calculate_hmac_for_char(
       出口
         if_algorithm ='SHA256'"哈希算法
         if_key = lv_binary_secret" HMAC密钥
         if_data ='abc'"数据
       输入
         ef_hmacb64string = lv_hmac_result" HMAC值作为base64编码的字符串
     )。

 

谢谢。