Function Module for Encryption and Decryption


Any function module which can be used for encryption or decryption of any particular field?

Use the following FM to encrypt

CALL FUNCTION 'FIEB_PASSWORD_ENCRYPT'

Use the following FM to decrypt

CALL FUNCTION 'FIEB_PASSWORD_DECRYPT'

By these FM you can encrypt & decrypt any fields of the Program.

Two more things:
1. You can't use these FM to decode user passwords.

2. Although their import parameters are case sensitive, when you test them from se37, the import parameters are converted to uppercase (thus, it may seem that they aren't working). A suggestion: encapsulate them in a custom FM that receives a string to be encrytped/decrypted and a parameter that says if you want to encrypt or decrypt and call this fm from your program. Test them very carefully, because once the string has been encrypted the decryption side is the only way to get it back.

function zsecurtext.
*"----------------------------------------------------------------------
*"*"Interfase local
*" IMPORTING
*" REFERENCE(INTEXT) TYPE FIEB_DECRYPTED_PASSWD OPTIONAL
*" REFERENCE(ENCRYPT) TYPE C OPTIONAL
*" EXPORTING
*" REFERENCE(OUTTEXT) TYPE FIEB_DECRYPTED_PASSWD
*"----------------------------------------------------------------------
** NOTE: This code doesn't work if run from se37. You should
** encrypt
if encrypt = 'X'.
call function 'FIEB_PASSWORD_ENCRYPT'
exportingAdvertisement

im_decrypted_password = intext
importing
ex_encrypted_password = outtext.
else.
******** Decrypting *******************
call function 'FIEB_PASSWORD_DECRYPT'
exporting
im_encrypted_password = intext
importing
ex_decrypted_password = outtext.
endif.

endfunction.