Forum Stats

  • 3,751,251 Users
  • 2,250,337 Discussions
  • 7,867,360 Comments

Discussions

How to encrypt PL/SQL Code?

864019
864019 Member Posts: 96
edited Jun 27, 2013 8:59AM in SQL & PL/SQL

Hi All,

I want to share our application code to third party. I don't want them to see our application PL/SQL Code.

I have tried wrapper utility provided by Oracle, however there are un-wrappers available.

Please Let me know the options available to hide my PL/SQL code.

Thanks in advance

Madhu

Tagged:
Ashu_Neo

Answers

  • 1018127
    1018127 Member Posts: 50

    try DBMS_CRYPTO

    Let me know if u need more info

  • Billy Verreynne
    Billy Verreynne Software Engineer Member Posts: 28,570 Red Diamond
    edited Jun 27, 2013 7:35AM

    If you encrypt source code.. how do you expect the compiler/parser to read and compile that encrypted code? How do you prevent the resulting p-code/binary code that is executed, from being reversed engineered to source code?

    Besides, I seriously doubt that your PL/SQL (or anyone else's)  is so brilliant that it will be stolen by others. Which begs the question, why do you want to "hide" the code?

    If you want to protect source code, the correct way is via copyrights and intellectual property rights.

    Ashu_Neo
  • BluShadow
    BluShadow Member, Moderator Posts: 41,312 Red Diamond

    As Billy says, the only proper way is through legal means.

    The next best thing is the wrap utility.  Yes, people have produced unwrappers out there, but most companies don't have their own software developers (otherwise they're less likely to be buying code from you), so won't be unwrapping it anytime soon.

    I've seen some 3rd party tools that try and obfuscate the code by turning all your variables and suchlike into meaningless names, making it hard for people to follow the code even if they can read it, so if you find a good one of those, and then wrap it as well, you're making it hard for people.

    DBMS_CRYPTO, as suggested by the first response on this thread, isn't an option as that is for encrypting or hashing etc. of data, not of PL/SQL code... at least not if you want Oracle to be able to execute the code still.

  • Use the DBMS_WRAP utility.  This will convert your source into a compiled version that is not human readable.

    http://docs.oracle.com/cd/B28359_01/appdev.111/b28370/wrap.htm

  • Never mind, helps to read the entire post

This discussion has been closed.