// convert user-supplied password array var prepareKey = function (a) { var i, j, r, key; var aes = []; var pkey = [0x93C467E3, 0x7DB0C7A4, 0xD1BE3F81, 0x0152CB56]; for (j = 0; j < a.length; j += 4) { key = [0, 0, 0, 0]; for (i = 0; i < 4; i++) { if (i + j < a.length) { key[i] = a[i + j]; } } aes.push(new Aes(key)); } for (r = 65536; r--;) { for (j = 0; j < aes.length; j++) { pkey = aes[j].encrypt(pkey); } } return pkey; }