点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 要遵循匈牙利有关...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 要遵循匈牙利有关...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
要遵循匈牙利有关电子发票(NAV系统)的新法律,我正在为数据的编码和解码而奋斗……我正在为此而努力,失败。
场景
每种通信和有效载荷都适用于XML结构。
使用提供的登录名,我向API索要令牌,然后以base64Binary的身份得到答案,并使用AES-128 ECB算法加密。
我应该解密令牌,并在数据通信中将其发回给构面定义的字段
我到目前为止所做的事情
类型:t_t开头, 箱型char100 t_t结束。 数据:带有默认密钥的t_bin t_t类型表, r_bin类型t_t, 镜头类型i。 r_bin-bin = i_data。 "我的令牌 将r_bin附加到t_bin。 len = strlen(r_bin-bin)。 " 88 通话功能'SCMS_BINARY_TO_XSTRING' 出口 input_length = len 输入 缓冲区= e_hex 桌子 binary_tab = t_bin 例外情况 失败= 1 其他= 2。
FUNCTION'SCMS_STRING_TO_XSTRING' 出口 text = c_key"字符串键 输入 缓冲区= xkey 例外情况 失败= 1 其他= 2。
https://github.com/Sumu-Ning/AES 解密XSTRING令牌(我在此处 http://extranet.cryptomathic.com/aescalc/检查了结果 索引,并且相同,所以我猜我的令牌已解密)
mode = zcl_aes_utility => mc_encryption_mode_ecb.zcl_aes_utility => decrypt_xstring(EXPORTING i_key = xkey i_data = i_token i_initialization_vector = iv"初始i_encryption_mode =模式IMPORTING e_data = resultx)。
呼叫功能'SCMS_BASE64_ENCODE' 出口 输入= x_s input_length = len"来自解密的XSTRING/2 输入 输出= o_c 例外情况 output_too_small = 1 其他= 2。 如果sy-subrc <> 0。 *在这里实施适当的错误处理 万一。 令牌= o_c。
我还尝试使用我在SCN和网上找到的建议解决方案将我的XSTRING转换为String而不是Base64(即 http://www.samplecodeabap.com/convert-xstring-string/),但我放弃了此解决方案,因为它最终会生成一堆乱码而不是unicode。
我需要什么?
我确定我正在弄乱获取和解密令牌的整个过程,也许是在弄乱字符串大小 ,但如果有人可以打我的头,并指向正确的方向,我真的很感激。
非常感谢!
你好西蒙妮,
从一开始,您就提到收到的令牌(mrlWpOOkvG8uuFL05v/VPyCXxr86OoS/dPu5PFsz + mWB29p/kn1MxPsTqZ9MmNcBpEfI8RU3lzbxUu7t + U0tjg ==)。
但是之后,您尝试使用SCMS_BINARY_TO_XSTRING将其转换为xstring。
我认为这是问题所在。
因为令牌看起来像BASE64字符串。 因此,您需要将此BASE64字符串解码为xstring。 然后您可以解密此xstring,所以没有...其余步骤似乎还可以。
提示:我喜欢使用CL_HTTP_UTILITY进行BASE64的解码/编码:-)有4种方法(2个用于string,2个用于xstring) ...
一周热门 更多>