You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@jmeter.apache.org by Zakir Sayed <za...@iolo.com> on 2009/04/08 17:49:16 UTC

MD5 conversion of a string.

Hello everybody,

I need to get MD5 format of a concatenated string, which is then
converted to Hex format. For MD5 conversion, I downloaded the js script
file from http://pajhome.org.uk/crypt/md5/ (also attached <<md5.js>> ).
Also that same script file (md5.js) has 'binl2hex(binarray)' function
which convert to hex value.. My real problem is (perhaps simple!) that I
don't know the way to access those functions inside that script in my
SOAP XML/RPC data request. I mean, I don't how to call that js file in
my SOAP request to process some variable value to get MD5 hash of it.
Ideally I would like to add or call that hex_md5 function from "Function
Helper dialog" but any other possible solution would also do. So in
brief, I need to have convert a string to MD5 through JavaScript or
BeanShell or any other way possible. 

I really need that to complete my project and it's not possible to work
around with them, so any kind of even suggestion is highly appreciated. 

--------------------
Thanks, 
Zack Sayed.

RE: MD5 conversion of a string.

Posted by Zakir Sayed <za...@iolo.com>.
I appreciate your reply. Upon experimenting a little bit, I could run
that code in BeanShell sampler. It is working great though but not
exactly in my SOAP request. So I'm using UDV to pass & calculate &
return the MD5 of the string through.

 

It was really helpful. Thanks a ton. 

 

Thanks, 
Zakir Sayed

 

From: Noel O'Brien [mailto:nobrien@newbay.com] 
Sent: Thursday, April 09, 2009 1:34 AM
To: jmeter-user@jakarta.apache.org
Cc: Zakir Sayed; Ronan Klyne
Subject: Re: MD5 conversion of a string.

 

I only posted a snippet, because some of the other code has company
specific details in it, but what I posted shows how to create a hash. 

AFAIK, you can put Java (but not javascript) code straight into a
beanshell script and it will work, but I may have wrong. So if you've
got any Java experience, that will help 

In my case, `strList` is a java StringBuffer used to build up a lot of
substrings into the string I want to get the hash of (`authSigString`).
Also the code I posted was part of a function, as you can see from the
return statement at the end.

You can run this code procedurally (without methods), you just need to
build your string before the block of code I posted and then manipulate
your SOAP request to include the hash.

I don't have any experience with SOAP requests unfortunately

Regards,

Noel

On Thursday 09 April 2009 00:14:29 Zakir Sayed wrote:

> Thanks Noel for the code.

> 

> Is there anything similar in JavaScript because I don't have
experience

> on BeanShell?

> I installed BeanShell jar file, I copied this code to tried BeanShell

> Preprocessor script and provided the script file File Name (md5.bsh)
and

> parameter (strList) as argument but couldn't comprehend how I can call

> this script by sending a string variable as parameter in my SOAP
request

> data. I also ran few __BeanShell functions successfully in my SOAP

> request data just to make sure BeanShell in installed properly.

> 

> I would highly oblige if you could spoon feed this time in showing how

> to call that code to have MD5 conversion.

> 

> Thanks,

> Zakir Sayed

> 

> 

> -----Original Message-----

> From: Noel O'Brien [mailto:nobrien@newbay.com]

> Sent: Wednesday, April 08, 2009 8:59 AM

> To: jmeter-user@jakarta.apache.org

> Cc: Zakir Sayed; Ronan Klyne

> Subject: Re: MD5 conversion of a string.

> 

> Here's some code I use in a Beanshell PreProcessor to do MD5
encryption:

> 

> import java.math.BigInteger;

> import java.security.MessageDigest;

> import java.util.TreeMap;

> import java.net.URLEncoder;

> 

> .....

> ...

> ...

> 

> authSigString = strList.toString();

> 

> // Log the auth signature string

> log.debug("authSigString: " + authSigString);

> 

> digest = MessageDigest.getInstance("MD5");

> bytes = authSigString.getBytes();

> digest.reset();

> theHash = new StringBuilder(new BigInteger(1,

> digest.digest(bytes)).toString(16));

> // Pad to correct length

> while (theHash.length() < 32)

> theHash.insert(0, "0");

> 

> log.debug("authSigHash: " + theHash.toString());

> return theHash.toString();

> 

> Regards,

> Noel

> 

> On Wednesday 08 April 2009 16:49:16 Zakir Sayed wrote:

> > Hello everybody,

> >

> > I need to get MD5 format of a concatenated string, which is then

> > converted to Hex format. For MD5 conversion, I downloaded the js

> 

> script

> 

> > file from http://pajhome.org.uk/crypt/md5/ (also attached <<md5.js>>

> 

> ).

> 

> > Also that same script file (md5.js) has 'binl2hex(binarray)'
function

> > which convert to hex value.. My real problem is (perhaps simple!)
that

> 

> I

> 

> > don't know the way to access those functions inside that script in
my

> > SOAP XML/RPC data request. I mean, I don't how to call that js file
in

> > my SOAP request to process some variable value to get MD5 hash of
it.

> > Ideally I would like to add or call that hex_md5 function from

> 

> "Function

> 

> > Helper dialog" but any other possible solution would also do. So in

> > brief, I need to have convert a string to MD5 through JavaScript or

> > BeanShell or any other way possible.

> >

> > I really need that to complete my project and it's not possible to

> 

> work

> 

> > around with them, so any kind of even suggestion is highly

> 

> appreciated.

> 

> > --------------------

> > Thanks,

> > Zack Sayed.

> 

> ---------------------------------------------------------------------

> To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org

> For additional commands, e-mail: jmeter-user-help@jakarta.apache.org


Re: MD5 conversion of a string.

Posted by Noel O'Brien <no...@newbay.com>.
I only posted a snippet, because some of the other code has company specific 
details in it, but what I posted shows how to create a hash. 

AFAIK, you can put Java (but not javascript) code straight into a beanshell 
script and it will work, but I may have wrong. So if you've got any Java 
experience, that will help 

In my case, `strList` is a java StringBuffer used to build up a lot of 
substrings into the string I want to get the hash of (`authSigString`). Also 
the code I posted was part of a function, as you can see from the return 
statement at the end.

You can run this code procedurally (without methods), you just need to build 
your string before the block of code I posted and then manipulate your SOAP 
request to include the hash.

I don't have any experience with SOAP requests unfortunately

Regards,
Noel

On Thursday 09 April 2009 00:14:29 Zakir Sayed wrote:
> Thanks Noel for the code.
>
> Is there anything similar in JavaScript because I don't have experience
> on BeanShell?
> I installed BeanShell jar file, I copied this code to tried BeanShell
> Preprocessor script and provided the script file File Name (md5.bsh) and
> parameter (strList) as argument but couldn't comprehend how I can call
> this script by sending a string variable as parameter in my SOAP request
> data. I also ran few __BeanShell functions successfully in my SOAP
> request data just to make sure BeanShell in installed properly.
>
> I would highly oblige if you could spoon feed this time in showing how
> to call that code to have MD5 conversion.
>
> Thanks,
> Zakir Sayed
>
>
> -----Original Message-----
> From: Noel O'Brien [mailto:nobrien@newbay.com]
> Sent: Wednesday, April 08, 2009 8:59 AM
> To: jmeter-user@jakarta.apache.org
> Cc: Zakir Sayed; Ronan Klyne
> Subject: Re: MD5 conversion of a string.
>
> Here's some code I use in a Beanshell PreProcessor to do MD5 encryption:
>
> import java.math.BigInteger;
> import java.security.MessageDigest;
> import java.util.TreeMap;
> import java.net.URLEncoder;
>
> .....
> ...
> ...
>
> authSigString = strList.toString();
>
> 	// Log the auth signature string
> 	log.debug("authSigString: " + authSigString);
>
> 	digest = MessageDigest.getInstance("MD5");
> 	bytes = authSigString.getBytes();
> 	digest.reset();
> 	theHash = new StringBuilder(new BigInteger(1,
> digest.digest(bytes)).toString(16));
> 	// Pad to correct length
> 	while (theHash.length() < 32)
> 		theHash.insert(0, "0");
>
> 	log.debug("authSigHash: " + theHash.toString());
> 	return theHash.toString();
>
> Regards,
> Noel
>
> On Wednesday 08 April 2009 16:49:16 Zakir Sayed wrote:
> > Hello everybody,
> >
> > I need to get MD5 format of a concatenated string, which is then
> > converted to Hex format. For MD5 conversion, I downloaded the js
>
> script
>
> > file from http://pajhome.org.uk/crypt/md5/ (also attached <<md5.js>>
>
> ).
>
> > Also that same script file (md5.js) has 'binl2hex(binarray)' function
> > which convert to hex value.. My real problem is (perhaps simple!) that
>
> I
>
> > don't know the way to access those functions inside that script in my
> > SOAP XML/RPC data request. I mean, I don't how to call that js file in
> > my SOAP request to process some variable value to get MD5 hash of it.
> > Ideally I would like to add or call that hex_md5 function from
>
> "Function
>
> > Helper dialog" but any other possible solution would also do. So in
> > brief, I need to have convert a string to MD5 through JavaScript or
> > BeanShell or any other way possible.
> >
> > I really need that to complete my project and it's not possible to
>
> work
>
> > around with them, so any kind of even suggestion is highly
>
> appreciated.
>
> > --------------------
> > Thanks,
> > Zack Sayed.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: jmeter-user-help@jakarta.apache.org


RE: MD5 conversion of a string.

Posted by Zakir Sayed <za...@iolo.com>.
Thanks Noel for the code.

Is there anything similar in JavaScript because I don't have experience
on BeanShell? 
I installed BeanShell jar file, I copied this code to tried BeanShell
Preprocessor script and provided the script file File Name (md5.bsh) and
parameter (strList) as argument but couldn't comprehend how I can call
this script by sending a string variable as parameter in my SOAP request
data. I also ran few __BeanShell functions successfully in my SOAP
request data just to make sure BeanShell in installed properly.

I would highly oblige if you could spoon feed this time in showing how
to call that code to have MD5 conversion.

Thanks, 
Zakir Sayed


-----Original Message-----
From: Noel O'Brien [mailto:nobrien@newbay.com] 
Sent: Wednesday, April 08, 2009 8:59 AM
To: jmeter-user@jakarta.apache.org
Cc: Zakir Sayed; Ronan Klyne
Subject: Re: MD5 conversion of a string.

Here's some code I use in a Beanshell PreProcessor to do MD5 encryption:

import java.math.BigInteger;
import java.security.MessageDigest;
import java.util.TreeMap;
import java.net.URLEncoder;

.....
...
...

authSigString = strList.toString();

	// Log the auth signature string
	log.debug("authSigString: " + authSigString);
	
	digest = MessageDigest.getInstance("MD5");
	bytes = authSigString.getBytes();
	digest.reset();	
	theHash = new StringBuilder(new BigInteger(1, 
digest.digest(bytes)).toString(16));
	// Pad to correct length
	while (theHash.length() < 32)
		theHash.insert(0, "0");

	log.debug("authSigHash: " + theHash.toString());
	return theHash.toString();

Regards,
Noel

On Wednesday 08 April 2009 16:49:16 Zakir Sayed wrote:
> Hello everybody,
>
> I need to get MD5 format of a concatenated string, which is then
> converted to Hex format. For MD5 conversion, I downloaded the js
script
> file from http://pajhome.org.uk/crypt/md5/ (also attached <<md5.js>>
).
> Also that same script file (md5.js) has 'binl2hex(binarray)' function
> which convert to hex value.. My real problem is (perhaps simple!) that
I
> don't know the way to access those functions inside that script in my
> SOAP XML/RPC data request. I mean, I don't how to call that js file in
> my SOAP request to process some variable value to get MD5 hash of it.
> Ideally I would like to add or call that hex_md5 function from
"Function
> Helper dialog" but any other possible solution would also do. So in
> brief, I need to have convert a string to MD5 through JavaScript or
> BeanShell or any other way possible.
>
> I really need that to complete my project and it's not possible to
work
> around with them, so any kind of even suggestion is highly
appreciated.
>
> --------------------
> Thanks,
> Zack Sayed.


---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-user-help@jakarta.apache.org


Re: MD5 conversion of a string.

Posted by Noel O'Brien <no...@newbay.com>.
Here's some code I use in a Beanshell PreProcessor to do MD5 encryption:

import java.math.BigInteger;
import java.security.MessageDigest;
import java.util.TreeMap;
import java.net.URLEncoder;

.....
...
...

authSigString = strList.toString();

	// Log the auth signature string
	log.debug("authSigString: " + authSigString);
	
	digest = MessageDigest.getInstance("MD5");
	bytes = authSigString.getBytes();
	digest.reset();	
	theHash = new StringBuilder(new BigInteger(1, 
digest.digest(bytes)).toString(16));
	// Pad to correct length
	while (theHash.length() < 32)
		theHash.insert(0, "0");

	log.debug("authSigHash: " + theHash.toString());
	return theHash.toString();

Regards,
Noel

On Wednesday 08 April 2009 16:49:16 Zakir Sayed wrote:
> Hello everybody,
>
> I need to get MD5 format of a concatenated string, which is then
> converted to Hex format. For MD5 conversion, I downloaded the js script
> file from http://pajhome.org.uk/crypt/md5/ (also attached <<md5.js>> ).
> Also that same script file (md5.js) has 'binl2hex(binarray)' function
> which convert to hex value.. My real problem is (perhaps simple!) that I
> don't know the way to access those functions inside that script in my
> SOAP XML/RPC data request. I mean, I don't how to call that js file in
> my SOAP request to process some variable value to get MD5 hash of it.
> Ideally I would like to add or call that hex_md5 function from "Function
> Helper dialog" but any other possible solution would also do. So in
> brief, I need to have convert a string to MD5 through JavaScript or
> BeanShell or any other way possible.
>
> I really need that to complete my project and it's not possible to work
> around with them, so any kind of even suggestion is highly appreciated.
>
> --------------------
> Thanks,
> Zack Sayed.