I think it's interesting that a lot of people are taking this as a question in the form of "is this a good idea?" I agree with almost everything said above about how code obfuscation/encryption/"compilation"/etc. is largely a waste of time when it comes to actually protecting anything.
However, I want to point out two things:
- All of those very good reasons not to hide code mean nothing if your boss requires you to do the hiding. Gripe, complain, present well-reasoned arguments on why it's a bad idea, but at the end of the day, you may still have to do the dirty.
- Trade secret law requires "due care" from an organization in protecting a secret, or it loses its "trade secret" status. If there's some method in the code that the org wants to keep others from using, it has two choices: patent or obfuscate1. Since software patents are evil, I'd rather see them obfuscate. Yes, it's broken, but it's probably enough to show that you tried to protect your secret.
In summary, avoid code-hiding techniques whever possible; but, when it's strictly necessary, I say use something as lightweight as possible. I'm curious what kind of performance hit is incurred by using Filter::Decrypt in this context...
{1}: copyright doesn't apply here, as that only protects the particular expression of an idea, not the idea itself.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.