How do I change a large string into hex and then into byte so that SHA1 can be applied to it?

Ads
 

How do I change a large string into hex and then into byte so that SHA1 can be applied to it?

I work with cellphones and deal with MEID numbers on a daily basis. So instead of searching online for a MEID (a hex number of length 14) to pseudo ESN (a hex number of length 8) calculator, I figured I can make my own program. The way to obtain a pESN from MEID is fairly simple in theory. For example, given MEID 0xA0000000002329, to make a pESN, SHA-1 needs to be applied to the MEID. SHA-1 on A0000000002329 gives e3be267a2cd5c861f3c7ea4224df829a3551f1ab. Take the last 6 hex numbers of this result, and append it to 0x80 - the result is 0x8051F1AB.

Now here is the code I have so far:

public void sha1() throws NoSuchAlgorithmException {

    String hexMEID = "A0000000002329";

    MessageDigest mDigest = MessageDigest.getInstance("SHA1");      

    byte[] result = mDigest.digest(hexMEID.getBytes());
    StringBuilder sb = new StringBuilder();

    for (int i = 0; i < result.length; i++) {
        sb.append(Integer.toString((result[i] & 0xff) + 0x100, 16).substring(1));
    }

    System.out.println(sb.toString());
}

The problem is that using this method, SHA-1 on A0000000002329 gives a89b611b421f57705bd013297ce3fc835f706ab0 instead of e3be267a2cd5c861f3c7ea4224df829a3551f1ab. What am I doing wrong here??

Someone gave me a hint that the trick is to apply SHA-1 to the number representing the MEID, not the string representing the MEID. If this is true then how do I change my string into hex and then into byte so that SHA1 can give me the correct result???

View Answers

Ads









Related Tutorials/Questions & Answers:
How do I change a large string into hex and then into byte so that SHA1 can be applied to it?
How do I initialize a byte array in Java?
Advertisements
I want to change my user name on your website ,how can i do this
How can I do it? .click();
How do I read a large file quickly in Java?
Convert a string representation of a hex dump to a byte array using Java?
HOW TO I CHANGE THE SWITCH TO IF ELSE OR DO WHILE OR WHILE DO FOR THIS CODING
HOW TO I CHANGE THE SWITCH TO IF ELSE OR DO WHILE OR WHILE DO FOR THIS CODING
HOW TO I CHANGE THE SWITCH TO IF ELSE OR DO WHILE OR WHILE DO FOR THIS CODING
HOW TO I CHANGE THE SWITCH TO IF ELSE OR DO WHILE OR WHILE DO FOR THIS CODING
How can I change UIButton title color?
Can i use Scriptlets inside javascript,if so how?
my hibernate showing the following exception so how i can resolve it
What is the default session time in php and how can I change it?
how can i do group tagging in portlet factory
How to convert string to byte in Java
Please tell me how can i convert string to timer
how i can creat string array, with global visibility.
how i can creat string array, with global visibility.
How can I get query string values in JavaScript?
how to convert ACSII to HEX
How can i Change Button Label Value Randomly in VIRTUAL KEYBOARD using JAVA or Net Beans ???
How can i Change Button Label Value Randomly in VIRTUAL KEYBOARD using JAVA or Net Beans ???
How can I open my Java desktop app by clicking on its file?
How do I change the while loop in this code to the range with range list style display page for a resultSet() in jsp?
I developed a simple java web project in Struts now If I have to import the project in Eclipse Indigo how can I do it
how do you change the message box to a specific color
How do I upgrade mysql?
how do i solve this problem?
how do i solve this question?
How do I compile the registration form?

Ads