Solved

I need to encrypt a text string in Oracle, and decrypt it using classic ASP

Posted on 2007-11-27
5
2,302 Views
Last Modified: 2013-12-07
Using Oracle 9i and PL/SQL, I need a way to encrypt a string, and pass the encrypted string to classic ASP within a querystring. Once received by ASP, I'll decrypt it and do what I need to do.
What encryption method should I use? I'm been contemplating RC4, but it seems easily cracked. The good news is RC4 is easily implemented within ASP, and is supported by Oracle 10g. For 9i, it seems I'll have to use a java based stored procedure to implement RC4. Please let me know if you have any better solutions for this as well.
0
Comment
Question by:L00M
  • 3
  • 2
5 Comments
 
LVL 11

Author Comment

by:L00M
ID: 20359709
0
 
LVL 27

Accepted Solution

by:
sujith80 earned 500 total points
ID: 20363595
Oracle supplies a package called DBMS_OBFUSCATION_TOOLKIT to do DES/DES3 encryptions. See the following link for the details.
http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/d_obtool.htm#i997215

See an example how to use:

declare
 l_in varchar2(16) := lpad('one',16);
 l_out varchar2(20);
 l_out2 varchar2(20);
 l_key varchar2(8) := 'testtest';
begin
 DBMS_OBFUSCATION_TOOLKIT.DESEncrypt(
   input_string     => l_in ,
   key_string       => l_key ,
   encrypted_string => l_out);

 dbms_output.put_line(l_out);

 DBMS_OBFUSCATION_TOOLKIT.DESDecrypt(
   input_string     => l_out ,
   key_string       => l_key ,
   decrypted_string => l_out2);

 dbms_output.put_line(l_out2);
end;
/
0
 
LVL 11

Author Comment

by:L00M
ID: 20366446
The problem is classic ASP does not support DES or DES3. Currently I'm looking into creating a .NET Interop Com class and expose the encryption routines that way. Of course, every turn is exposing new obstacles. I'll let you know how it goes. But currently it's not looking like there is a ready made solution.
0
 
LVL 27

Expert Comment

by:sujith80
ID: 20372018
As far as I know oracle suports only DES/DES3.
Why dont you move the whole encryption-decryption piece out of oracle and have it as ASP components. I.e. The data gets encrypted and goes in to the database, encrypted data comes out of the database and gets decrypted.
0
 
LVL 11

Author Comment

by:L00M
ID: 20373333
Let me set up the scenario. We have two web sites:
Site A - Runs on Oracle and Unix (PL/SQL)
Site B - Runs on Sybase and Windows (ASP)

Each night a procedure will run to copy the usernames and pin numbers from database A to database B. What we would like to accomplish is to have a user only have to sign in once at site A. Site A will provide links over to Site B. If the user clicks on a Site B link, they will be taken there and not required to log in again.
To accomplish that I wanted to encrypt the username and pin and pass it in the querystring.
However, Site A seems to only support DES, and Site B seems to only support RC4. (Unless I purchase a 3rd party component.)

Does that make sense?
0

Featured Post

How to improve team productivity

Quip adds documents, spreadsheets, and tasklists to your Slack experience
- Elevate ideas to Quip docs
- Share Quip docs in Slack
- Get notified of changes to your docs
- Available on iOS/Android/Desktop/Web
- Online/Offline

Join & Write a Comment

Suggested Solutions

#SSL #TLS #Citrix #HTTPS #PKI #Compliance #Certificate #Encryption #StoreFront #Web Interface #Citrix XenApp
Since pre-biblical times, humans have sought ways to keep secrets, and share the secrets selectively.  This article explores the ways PHP can be used to hide and encrypt information.
This video explains at a high level with the mandatory Oracle Memory processes are as well as touching on some of the more common optional ones.
This video shows how to copy an entire tablespace from one database to another database using Transportable Tablespace functionality.

708 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now