MD5加密接口

news2024/11/15 19:58:49

签名算法
app_key和app_secret由对方系统提供
在这里插入图片描述
MD5_CALCULATE_HASH_FOR_CHAR(中文加密与JAVA不一致)
代码:

*获取传输字段名的ASCII码,根据ASCII码对字段名进行排序

    SELECT * FROM zthr0051
      WHERE  functionid = @iv_functionid
     INTO CORRESPONDING FIELDS OF TABLE @et_sort.

    LOOP AT et_sort INTO DATA(es_sort).
      es_sort-ascii = cl_abap_conv_out_ce=>uccpi( es_sort-f_json ).
      MODIFY et_sort FROM es_sort.
      CLEAR:es_sort.
    ENDLOOP.
    SORT et_sort BY ascii.
    
*接口参数赋值
    gs_per_input-timestamp = gv_timestamp+0(10).
    gs_per_input-app_key = ls_zthr0167-zkey.
    gs_per_input-person_no = gs_out_pernr-personid_ext.
    gs_per_input-name      = gs_out_pernr-ename.
    IF gs_out_pernr-sex = '1'.
      gs_per_input-gender = 'MAN'.
    ELSEIF  gs_out_pernr-sex = '2'.
      gs_per_input-gender = 'WOMEN'.
    ELSEIF  gs_out_pernr-sex = '其他'.
      gs_per_input-gender = 'OTHER'.
    ENDIF.
    gs_per_input-phone = gs_per_input-phone.
    gs_per_input-card_department_group_id = gs_out_pernr-department_id.
    
 *参数拼接
      LOOP AT gt_sort001 ASSIGNING FIELD-SYMBOL(<fs_sort001>) WHERE f_abap <> 'SIGNATURE'.
        ASSIGN COMPONENT <fs_sort001>-f_ABAP OF STRUCTURE gs_per_input TO <field>.
        IF <field> IS NOT INITIAL.
          lv_input = lv_input && <fs_sort001>-f_json && '=' && <field> && '&'.
        ENDIF.
        AT LAST.
          lv_input = lv_input && 'key=' && ls_zthr0167-secret.
        ENDAT.
      ENDLOOP.
*对拼接后的值进行MD5加密后的值放在接口参数中,并转换为大写,传输
    CALL FUNCTION 'ZFM_GET_MD5'
      EXPORTING
        iv_string = lv_input
      IMPORTING
        ev_md5    = gs_per_input-signature.
    TRANSLATE gs_per_input-signature TO UPPER  CASE.

MD5加密参考

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1865162.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python3使用ast.parse详解

使用ast库分析python3脚本, 并对脚本进行一些处理, 比如注释pirnt语句 一.基础知识 官方网址连接 ast — Abstract Syntax Trees ast库可以方便的分析python代码结构, 并做一些处理, 很适合对大量脚本文件做批量处理, 比如把print语句全部注释等. 直观的打印出代码结构 impo…

Chatopera 云服务实现类海尔服务智能客服的功能点比较 | Chatopera

在上一篇文章中&#xff0c;我分享了《智能客服体验分析&#xff0c;使用小程序海尔服务完成电器报修》。如果使用 Chatopera 云服务实现一个类似的应用&#xff0c;如何做呢&#xff1f;借助 Chatopera 云服务 可以实现一个智能客服&#xff0c;那么和现在的海尔服务小程序会有…

Java工具包——Lombok

目录 1. maven仓库手动导入依赖注解 1.1 maven仓库引入依赖 1.2 在类上使用Data注解 1.3 在属性上使用Getter与Setter注解 2. EditStarters插件注解 2.1 安装EditStarters插件 2.2 在pom.xml中进行操作 2.3 在java对象类中使用注解 3. lombok工具使用结果查看 3.1…

信创好搭档,企业好选择| 亚信安慧AntDB诚邀您参与企业数智化升级云端研讨会

关于亚信安慧AntDB数据库 AntDB数据库始于2008年&#xff0c;在运营商的核心系统上&#xff0c;服务国内24个省市自治区的数亿用户&#xff0c;具备高性能、弹性扩展、高可靠等产品特性&#xff0c;峰值每秒可处理百万笔通信核心交易&#xff0c;保障系统持续稳定运行超十年&a…

宠物空气净化器热卖爆款,希喂、小米、352猫用空气净化器真实PK

相信大漫天多数养猫家庭都会有一个烦恼&#xff1a;猫咪们的猫实在是太多了&#xff0c;无法忍受家里面漫天飞舞的浮毛和难闻的猫猫便臭。作为养猫多年的过来人我尝试过很多种方法清理这些猫浮毛和异味&#xff0c;但都以失败告终。 直到后面看到一个宠物博主推荐的宠物空气净…

Studying-代码随想录训练营day14| 226.翻转二叉树、101.对称二叉树、104.二叉树的最大深度、111.二叉树的最小深度

第十四天&#xff0c;(ง •_•)ง&#x1f4aa;&#x1f4aa;&#xff0c;编程语言&#xff1a;C 目录 226.翻转二叉树 101.对称二叉树 100.相同的树 572.另一个树的子树 104.二叉树的最大深度 559.n叉树的最大深度 111.二叉树的最小深度 总结 226.翻转二叉树 文档讲…

笔记-python reduce 函数

reduce() 函数在 python 2 是内置函数&#xff0c; 从python 3 开始移到了 functools 模块。 官方文档是这样介绍的 reduce(...) reduce(function, sequence[, initial]) -> valueApply a function of two arguments cumulatively to the items of a sequence, from left …

HarmonyOS Next开发学习手册——进程模型线程模型

进程模型 系统的进程模型如下图所示&#xff1a; 应用中&#xff08;同一包名&#xff09;的所有PageAbility、ServiceAbility、DataAbility、FormAbility运行在同一个独立进程中&#xff0c;即图中绿色部分的“Main Process”。 WebView拥有独立的渲染进程&#xff0c;即图中…

Redis-实战篇-缓存雪崩

文章目录 1、缓存雪崩2、解决方案&#xff1a; 1、缓存雪崩 缓存雪崩是指在同一时段大量的缓存key同时失效或者Redis服务宕机&#xff0c;导致大量请求到达数据库&#xff0c;带来巨大压力。 2、解决方案&#xff1a; 给不同的key的TTL添加随机值利用Redis集群提高服务的可用性…

OpenAI API一键搬家,天工推出开发者迁移计划

6月25日&#xff0c;OpenAI宣布称将于今年7月9日开始封锁来自非支持国家和地区的API流量。此后&#xff0c;来自中国大陆、中国香港等地的开发者将无法使用OpenAI API提供服务。 为了助力开发者高效切换至国内大模型&#xff0c;天工开放平台&#xff08;https://model-platfo…

工业网关的功能与作用解析-天拓四方

在工业4.0和智能制造的时代背景下&#xff0c;工业网关作为连接现场设备与云端平台的桥梁&#xff0c;正发挥着日益重要的作用。它不仅为工业设备的远程监控和管理提供了可能&#xff0c;还为企业实现数字化转型和智能化升级提供了有力支持。本文将对工业网关的功能与作用进行解…

【SpringBoot Actuator】⭐️Actuator 依赖实现服务健康检查,线程信息收集

目录 &#x1f378;前言 &#x1f37b;一、Actuator 了解 &#x1f37a;二、使用 2.1 依赖引入 2.2 测试场景搭建 &#x1f379;三、测试 3.1 项目启动测试 3.2 服务健康检查 3.3 线程转储 3.4 内存使用&#xff0c;垃圾回收信息获取 &#x1f49e;️四、章末 &#x1…

程序猿大战Python——正则表达式——正则概述

正则表达式的概述 基本介绍 目标&#xff1a;了解什么是正则表达式&#xff1f; 正则表达式&#xff0c;也叫做规则表达式&#xff0c;通常会说成【正则】。 实际上&#xff0c;正则表达式就是指符合一定规则的字符串&#xff0c;同时它能用于检查一段文本数据是否与某种模式…

IND87520芯片介绍(二)

六、内部模拟调光 一个精确的10位DAC作为BUCK电流调节回路的参考发生器。与SPI通信时&#xff0c;DAC参考电压可由主机改变并调节电流在BUCK不断切换的同时&#xff0c;也会发生相应的变化。10位分辨率的DAC正在设计中满足电流变化平稳的要求。一个1.713mA电流步使光亮度连续变…

首次30米空间分辨率生成中国年度耕地栅格数据1986-2021

中国1986-2021年30米分辨率年度耕地数据集 数据介绍 精确、详细且及时的耕地范围信息对于粮食安全保障和环境可持续性至关重要。然而&#xff0c;由于农业景观的复杂性和足够训练样本的缺乏&#xff0c;在大范围下进行高时空分辨率的耕地动态监测仍然具有挑战性&#xff0c;尤其…

Matlab|【免费】含氢气氨气综合能源系统优化调度

目录 主要内容 部分代码 结果一览 下载链接 主要内容 该程序参考《_基于氨储能技术的电转氨耦合风–光–火综合能源系统双层优化调度》模型&#xff0c;对制氨工厂、风力发电、电制氢、燃气轮机、火电机组等主体进行建模分析&#xff0c;以火电机组启停成本、煤耗…

ubuntu中共享文件夹看不到了,解决方法

1、检查共享文件夹配置 2、创建 3、查看共享文件夹 4、另一问题&#xff0c;每次重启虚拟机后&#xff0c;共享文件夹又没了&#xff1f;

三大办公软件实用小技巧 沈阳办公软件白领必修班

Word 学好办公软件能大大的提升我们的工作效率。下面让我们一起学习一下Word办公软件时几个实用小技巧&#xff01; 01.快速插入当前日期或时间 在使用Word办公软件进行文档的编辑处理时&#xff0c;如果需要在文章的末尾插入系统的当前日期或时间。通常情况下&#xff0c;我…

洞察用户需求,Xinstall数据统计App让你的App运营如虎添翼

在互联网时代&#xff0c;App推广和运营面临着前所未有的挑战。流量红利逐渐衰退&#xff0c;用户获取成本不断攀升&#xff0c;如何确保在多变的互联网环境下&#xff0c;迅速搭建起能时刻满足用户需求的运营体系&#xff0c;成为众多企业急待解决的问题。今天&#xff0c;我们…

disableSplitter(false)和requestInputBufSize(0)一样吗?

编译omx文件时&#xff0c;在disableSplitter(false)前加了requestInputBufSize(0)导致报错 hardware/media/hardware/omx/vdec/omx_vdec3.cpp" vendor/realtek/common/ATV/hardware/media/hardware/omx/vdec/omx_vdec3.cpp:245:3: error: field requestInputBufSize wi…