Focal Point
[SOLVED] Is there a function in Webfocus to convert a string to an MD5 Hash?

This topic can be found at:
http://forums.informationbuilders.com/eve/forums/a/tpc/f/7971057331/m/6297031586

January 06, 2017, 12:44 PM
Cameron
[SOLVED] Is there a function in Webfocus to convert a string to an MD5 Hash?
Is there a function in Webfocus to convert a string to an MD5 Hash?

Something like:


-SET &ID = 'SOMEID###';
-SET &TOKENDATE = &YYMD;
-SET &SECRETPHRASE = 'SECRETPHRASE';
-SET &SECURITY_STRING = &ID | &TOKENDATE | &SECRETPHRASE;

-TYPE &SECURITY_STRING;

-***** MD5 HAS FUNCTION TO CONVERT &SECURITY_STRING e.g. MD5(&SECURITY_STRING) *****
-SET &SECURITY_TOCKEN = MD5(&SECURITY_STRING);

-*RESULT SHOULD BE AN MD5 TOKEN
-TYPE &SECURITY_TOCKEN;

-EXIT

This message has been edited. Last edited by: Tamra,


WebFOCUS 7.6
Windows, All Outputs
January 07, 2017, 10:14 PM
skiandrun2
One way is to use the function in a relational database. Here I use HASHBYTES in SQL Server:

-SET &SECURITY_STRING = 'HI THERE';
ENGINE SQLMSS SET DEFAULT_CONNECTION bob
SQL SQLMSS PREPARE SQLOUT FOR
SELECT HASHBYTES ('MD5','&SECURITY_STRING') AS SECURITY_TOKEN
END
TABLE FILE SQLOUT
PRINT SECURITY_TOKEN
END
January 08, 2017, 03:26 PM
Waz
In my last job, i'm sure someone used an OS call to do it. But it was Unix.


Waz...

Prod:WebFOCUS 7.6.10/8.1.04Upgrade:WebFOCUS 8.2.05OS:LinuxOutputs:HTML, PDF, Excel, PPT
In Focus since 1984
Know The Code

January 09, 2017, 04:33 AM
Frans
USing DB or systemcall are the options you have.

Not sure what your usecase is, but MD5 is easy to decrypt and non unique. So if you want to have something secure go with SHA-2 or SHA-3 or higher.


Test: WF 8.2
Prod: WF 8.2
DB: Progress, REST, IBM UniVerse/UniData, SQLServer, MySQL, PostgreSQL, Oracle, Greenplum, Athena.
January 09, 2017, 10:33 AM
Marina
The new FOCUS functions CHECKMD5 and CHECKSUM were added starting from the release 7.7.07.
The CHECKMD5 function accepts Alpha variable for the input parameter and returns A16 which contains 128 bit hash index.
Example:
DEFINE FILE ibisamp/car
MD5_FIELD/A32 MISSING ON = HEXTYPE(CHECKMD5( CAR ));
END
TABLE FILE IBISAMP/CAR
PRINT CAR COUNTRY MD5_FIELD
END
-RUN

The CHECKSUM function accepts Alpha variable for the input parameter and returns I11 that contains 32 bit hash index.
Example:
DEFINE FILE ibisamp/car
CHKSUM_FIELD/I11 MISSING ON = CHECKSUM( CAR );
END
TABLE FILE IBISAMP/CAR
PRINT CAR COUNTRY CHKSUM_FIELD
END
-RUN
January 12, 2017, 04:58 PM
susannah
Imagine a LIKE button here.
thanks Marina




In Focus since 1979///7706m/5 ;wintel 2008/64;OAM security; Oracle db, ///MRE/BID
January 12, 2017, 05:26 PM
Waz



Waz...

Prod:WebFOCUS 7.6.10/8.1.04Upgrade:WebFOCUS 8.2.05OS:LinuxOutputs:HTML, PDF, Excel, PPT
In Focus since 1984
Know The Code