栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SAP ABAP BASE64 MD5 加解密

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SAP ABAP BASE64 MD5 加解密

 SAP ABAP base64 MD5 加解密的完整代码,开箱即用。

abap base64 加解密 SAP EPIC 银企直连
616261702062617365363420E58AA0E8A7A3E5AF8620534150204550494320E993B6E4BC81E79BB4E8BF9E
YWJhcCBiYXNlNjQg5Yqg6Kej5a+GIFNBUCBFUElDIOmTtuS8geebtOi/ng==

YWJhcCBiYXNlNjQg5Yqg6Kej5a+GIFNBUCBFUElDIOmTtuS8geebtOi/ng==
616261702062617365363420E58AA0E8A7A3E5AF8620534150204550494320E993B6E4BC81E79BB4E8BF9E
abap base64 加解密 SAP EPIC 银企直连

8125b5dfea86aa8947d434e18eef4b3a

*&---------------------------------------------------------------------*
*& Report ZDZ008  MD5 base64 加解密
*&---------------------------------------------------------------------*
*&SCP_CODEPAGE_BY_EXTERNAL_NAME
*&SCP_CODEPAGE_INFO
*&UTF8 4110 GB2312 8450 GBK 8400
*&---------------------------------------------------------------------*
REPORT ZDZ008 NO STANDARD PAGE HEADING.

data: LV_BUFFER	TYPE XSTRING,
      LV_base64 TYPE STRING.

data: LV_DECODEX TYPE XSTRING,
      LV_DECODE  TYPE STRING.

data: LV_HASH TYPE HASH160.

SELECTION-SCREEN BEGIN OF BLOCK B101 WITH frame TITLE TEXT-101.

PARAMETERS: P_TEXT TYPE STRING LOWER CASE OBLIGATORY,
            P_MIME TYPE CHAR20 LOWER CASE,
            P_ENCO TYPE ABAP_ENCODING LOWER CASE DEFAULT '4110' OBLIGATORY,
            P_ALG  TYPE HASHALG DEFAULT 'MD5' OBLIGATORY.

SELECTION-SCREEN END OF BLOCK B101.

INITIALIZATION.

START-OF-SELECTION.

  CALL FUNCTION 'SCMS_STRING_TO_XSTRING'
    EXPORTING
      TEXT     = P_TEXT
      MIMETYPE = P_MIME
      ENCODING = P_ENCO
    importING
      BUFFER   = LV_BUFFER
    EXCEPTIONS
      FAILED   = 1
      OTHERS   = 2.

  CALL FUNCTION 'SCMS_base64_ENCODE_STR'
    EXPORTING
      INPUT  = LV_BUFFER
    importING
      OUTPUT = LV_base64.

  WRITE:/ P_TEXT,
        / LV_BUFFER,
        / LV_base64.

  ULINE.

  CALL FUNCTION 'SCMS_base64_DECODE_STR'
    EXPORTING
      INPUT    = LV_base64
      UNESCAPE = 'X'
    importING
      OUTPUT   = LV_DECODEX
    EXCEPTIONS
      FAILED   = 1
      OTHERS   = 2.

  CALL FUNCTION 'ECATT_CONV_XSTRING_TO_STRING'
    EXPORTING
      IM_XSTRING  = LV_DECODEX
      IM_ENCODING = P_ENCO
    importING
      EX_STRING   = LV_DECODE.

  WRITE:/ LV_base64,
        / LV_DECODEX,
        / LV_DECODE.

  ULINE.



  PERFORM FRM_base64 USING P_TEXT P_ENCO CHANGING LV_base64.

  WRITE:/ P_TEXT,
        / LV_BUFFER,
        / LV_base64.

  ULINE.


  PERFORM FRM_DEbase64 USING LV_base64 P_ENCO CHANGING LV_DECODE.

  WRITE:/ LV_base64,
        / LV_DECODEX,
        / LV_DECODE.

  ULINE.


  PERFORM FRM_MD5 USING P_ALG P_TEXT 0 'X' CHANGING LV_HASH.

  WRITE:/ LV_HASH.

  ULINE.


FORM FRM_base64 USING    LV_STR
                         LV_ENCO
                CHANGING LV_base64.

  data: LV_BUFFER	TYPE XSTRING.

  data: LV_MIME TYPE CHAR20.

  CLEAR: LV_base64.
  CALL FUNCTION 'SCMS_STRING_TO_XSTRING'
    EXPORTING
      TEXT     = LV_STR
      MIMETYPE = LV_MIME
      ENCODING = LV_ENCO
    importING
      BUFFER   = LV_BUFFER
    EXCEPTIONS
      FAILED   = 1
      OTHERS   = 2.

  CALL FUNCTION 'SCMS_base64_ENCODE_STR'
    EXPORTING
      INPUT  = LV_BUFFER
    importING
      OUTPUT = LV_base64.

ENDFORM.

FORM FRM_DEbase64 USING    LV_base64
                           LV_ENCO
                  CHANGING LV_STR.

  data: LV_BUFFER	TYPE XSTRING.

  CLEAR: LV_STR.
  CALL FUNCTION 'SCMS_base64_DECODE_STR'
    EXPORTING
      INPUT    = LV_base64
      UNESCAPE = 'X'
    importING
      OUTPUT   = LV_BUFFER
    EXCEPTIONS
      FAILED   = 1
      OTHERS   = 2.

  CALL FUNCTION 'ECATT_CONV_XSTRING_TO_STRING'
    EXPORTING
      IM_XSTRING  = LV_BUFFER
      IM_ENCODING = LV_ENCO
    importING
      EX_STRING   = LV_STR.

ENDFORM.

FORM FRM_MD5 USING    LV_ALG
                      LV_DATA
                      LV_LEN
                      LV_LOWER
             CHANGING LV_MD5.

  data: LV_HASH          TYPE HASH160,
        LV_HASHLEN       TYPE I,
        LV_HASHX         TYPE HASH160X,
        LV_HASHXLEN      TYPE I,
        LV_HASHSTRING    TYPE STRING,
        LV_HASHXSTRING   TYPE XSTRING,
        LV_HASHB64STRING TYPE STRING.

  CLEAR: LV_MD5.
  CALL FUNCTION 'CALCULATE_HASH_FOR_CHAR'
    EXPORTING
      ALG            = LV_ALG
      DATA           = LV_DATA
      LENGTH         = LV_LEN
    importING
      HASH           = LV_HASH
      HASHLEN        = LV_HASHLEN
      HASHX          = LV_HASHX
      HASHXLEN       = LV_HASHXLEN
      HASHSTRING     = LV_HASHSTRING
      HASHXSTRING    = LV_HASHXSTRING
      HASHB64STRING  = LV_HASHB64STRING
    EXCEPTIONS
      UNKNOWN_ALG    = 1
      PARAM_ERROR    = 2
      INTERNAL_ERROR = 3
      OTHERS         = 4.

  LV_MD5 = LV_HASH.

  IF LV_LOWER = 'X'.
    TRANSLATE LV_MD5 TO LOWER CASE.
  ENDIF.

ENDFORM.


base64加密后的密文可以直接用网上的在线程序直接解密,那么JAVA当然也可以解密的。

base64加密、解密-BeJSON.comhttps://www.bejson.com/enc/base64/

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/270020.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号