加密解密程序

来源:互联网 发布:ubuntu wifi 没有显示 编辑:程序博客网 时间:2024/04/28 11:29
*&---------------------------------------------------------------------*
*& Report  Z_SECURITY
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT z_security.
DATAo_encryptor        TYPE REF TO cl_hard_wired_encryptor,
      o_cx_encrypt_error TYPE REF TO cx_encrypt_error.

DATAv_ac_string  TYPE string VALUE 'Welcome to ABAP',
      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.
0 0