Last active
October 26, 2023 04:04
Revisions
-
getify revised this gist
Nov 6, 2013 . 1 changed file with 29 additions and 5 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -2,16 +2,40 @@ wordArray: { words: [..], sigBytes: words.length * 4 } */ // assumes wordArray is Big-Endian (because it comes from CryptoJS which is all BE) // From: https://gist.github.com/creationix/07856504cf4d5cede5f9#file-encode-js function convertWordArrayToUint8Array(wordArray) { var len = wordArray.words.length, u8_array = new Uint8Array(len << 2), offset = 0, word, i ; for (i=0; i<len; i++) { word = wordArray.words[i]; u8_array[offset++] = word >> 24; u8_array[offset++] = (word >> 16) & 0xff; u8_array[offset++] = (word >> 8) & 0xff; u8_array[offset++] = word & 0xff; } return u8_array; } // create a wordArray that is Big-Endian (because it's used with CryptoJS which is all BE) // From: https://gist.github.com/creationix/07856504cf4d5cede5f9#file-encode-js function convertUint8ArrayToWordArray(u8Array) { var words = [], i = 0, len = u8Array.length; while (i < len) { words.push( (u8Array[i++] << 24) | (u8Array[i++] << 16) | (u8Array[i++] << 8) | (u8Array[i++]) ); } return { sigBytes: words.length * 4, words: words }; } -
getify revised this gist
Nov 5, 2013 . 1 changed file with 5 additions and 8 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -8,14 +8,11 @@ function convertWordArrayToUint8Array(wordArray) { } function convertUint8ArrayToWordArray(u8Array) { var u32_array = new Uint32Array(u8Array.buffer); return { sigBytes: u32_array.length * 4, words: Array.prototype.slice.call(u32_array) }; } function convertUint8ArrayToBinaryString(u8Array) { -
getify created this gist
Nov 5, 2013 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,35 @@ /* wordArray: { words: [..], sigBytes: words.length * 4 } */ function convertWordArrayToUint8Array(wordArray) { var u32_array = new Uint32Array(wordArray.words); return new Uint8Array(u32_array.buffer); } function convertUint8ArrayToWordArray(u8Array) { var u32_array = new Uint32Array(u8Array.buffer), i, len = u32_array.length, w_array = { sigBytes: len, words: [] } ; for (i=0; i<len; i++) { w_array.words.push(u32_array[i]); } return w_array; } function convertUint8ArrayToBinaryString(u8Array) { var i, len = u8Array.length, b_str = ""; for (i=0; i<len; i++) { b_str += String.fromCharCode(u8Array[i]); } return b_str; } function convertBinaryStringToUint8Array(bStr) { var i, len = bStr.length, u8_array = new Uint8Array(len); for (var i = 0; i < len; i++) { u8_array[i] = bStr.charCodeAt(i); } return u8_array; }