用于对字符串的加密和解密:
DATA: o_encryptor TYPE REF TO cl_hard_wired_encryptor,
o_cx_encrypt_error TYPE REF TO cx_encrypt_error.
DATA: v_ac_string TYPE string VALUE ‘RICK‘,
v_ac_xstring TYPE xstring,
v_en_string TYPE string,
v_en_xstring TYPE xstring,
v_de_string TYPE string,
v_de_xstring TYPE string,
v_error_msg TYPE string.START-OF-SELECTION.
* Create object for Encryption
CREATE OBJECT o_encryptor.
* *&---------------------------------------------------------------------*
* Encryption - String to String
*&---------------------------------------------------------------------*
WRITE / ‘Encryption - String to String‘.
TRY.
CALL METHOD o_encryptor->encrypt_string2string
EXPORTING
the_string = v_ac_string
RECEIVING
result = v_en_string.
CATCH cx_encrypt_error INTO o_cx_encrypt_error.
CALL METHOD o_cx_encrypt_error->if_message~get_text
RECEIVING
result = v_error_msg.
MESSAGE v_error_msg TYPE ‘E‘.
ENDTRY.
WRITE:/ ‘Actual String: ‘, v_ac_string.
WRITE:/ ‘Encrypted String: ‘, v_en_string.
SKIP.
* *&---------------------------------------------------------------------*
* Decryption - String to String
*&---------------------------------------------------------------------*
WRITE / ‘Decryption - String to String‘.
TRY.
CALL METHOD o_encryptor->decrypt_string2string
EXPORTING
the_string = v_en_string
RECEIVING
result = v_de_string.
CATCH cx_encrypt_error INTO o_cx_encrypt_error.
CALL METHOD o_cx_encrypt_error->if_message~get_text
RECEIVING
result = v_error_msg.
MESSAGE v_error_msg TYPE ‘E‘.
ENDTRY.
WRITE:/ ‘Encrypted String: ‘, v_en_string.
WRITE:/ ‘Decrypted String: ‘, v_de_string.
SKIP.
ABAP
加密解密程序