2 // assumes wordArray is Big-Endian (because it comes from CryptoJS which is all BE)
3 // From: https://gist.github.com/getify/7325764
4 export function convertWordArrayToUint8Array(wordArray) {
5 var len = wordArray.words.length,
6 u8_array = new Uint8Array(len << 2),
9 for (i=0; i<len; i++) {
10 word = wordArray.words[i];
11 u8_array[offset++] = word >> 24;
12 u8_array[offset++] = (word >> 16) & 0xff;
13 u8_array[offset++] = (word >> 8) & 0xff;
14 u8_array[offset++] = word & 0xff;
19 export function convertUint8ArrayToWordArray(u8Array) {
20 var words = [], i = 0, len = u8Array.length;
24 (u8Array[i++] << 24) |
25 (u8Array[i++] << 16) |
32 sigBytes: words.length * 4,
37 // get random Uint8Array
38 export function getRandomByte(len) {
39 var array = new Uint8Array(len);
40 window.crypto.getRandomValues(array);