Solved

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

Posted on 2007-11-27
5
2,336 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

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This post first appeared at Oracleinaction  (http://oracleinaction.com/undo-and-redo-in-oracle/)by Anju Garg (Myself). I  will demonstrate that undo for DML’s is stored both in undo tablespace and online redo logs. Then, we will analyze the reaso…
Checking the Alert Log in AWS RDS Oracle can be a pain through their user interface.  I made a script to download the Alert Log, look for errors, and email me the trace files.  In this article I'll describe what I did and share my script.
This video shows, step by step, how to configure Oracle Heterogeneous Services via the Generic Gateway Agent in order to make a connection from an Oracle session and access a remote SQL Server database table.
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …

828 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