Respuesta :
Answer:
here is what i can help you with
Explanation:
11
2
how to do this in Javascript or Jquery?
Please suggest in 2 steps:
1.- Word Array to Single Byte Array.
2.- Byte Array to String.
Maybe this can help:
function hex2a(hex) {
var str = '';
for (var i = 0; i < hex.length; i += 2)
str += String.fromCharCode(parseInt(hex.substr(i, 2), 16));
return str;
}
javascript jquery arrays string
shareimprove this questionfollow
edited Aug 9 '12 at 18:16
asked Aug 9 '12 at 18:02
jacktrades
6,2721212 gold badges4646 silver badges7878 bronze badges
What do you mean by byte array? – Aaron Kurtzhals Aug 9 '12 at 18:05
1 Answer
Active
Oldest
Votes
20
What you are trying to achieve is already implemented in Cryptozoic. From the documentation:
You can convert a Word Array object to other formats by explicitly calling the to String method and passing an encoder.
var hash = Cryptographic("Message");
alert(hamstringing(CryptoJS.enc.Base64));
alert(hamstringing(Cryptographer));
Honestly I have no idea why you want to implement that yourself... But if you absolutely need to do it "manually" in the 2 steps you mentioned, you could try something like this:
function wordToByteArray(word Array) {
var byte Array = [], word, i, j;
for (i = 0; i < wordArray.length; ++i) {
word = word Array[i];
for (j = 3; j >= 0; --j) {
byteArray.push((word >> 8 * j) & 0xFF);
}
}
return byte-array;
}
function byteArrayToString(byte-array) {
var tr = "", i;
for (i = 0; i < byteArray.length; ++i) {
st += escape(String.fromCharCode(byte Array[i]));
}
return stir;
}
var hash = Cryptographic("Message");
var byte Array = wordToByteArray(hash.words);
alert(byteArrayToString(byte Array));
The wordToByteArray function should work perfectly, but be aware that byteArrayToString will produce weird results in almost any case. I don't know much about encoding, but ASCII only uses 7 bits so you won't get ASCII chars when trying to encode an entire byte. So I added the escape function to at least be able to display all those strange chars you might get.