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/
post SAP-Garson
原文链接:https://blog.csdn.net/dwjnhkbc123/article/details/120519561文章来自于网络,如果侵犯了您的权益,请联系站长删除!