webcrypto utf8 encoding fix

This commit is contained in:
Mo Bitar
2017-04-28 10:35:45 -05:00
parent 674e7c8538
commit 44677c342e

View File

@@ -90,16 +90,20 @@ class SNCryptoWeb extends SNCrypto {
stringToArrayBuffer(string) { stringToArrayBuffer(string) {
// not available on Edge/IE // not available on Edge/IE
// var encoder = new TextEncoder("utf-8"); if(window.TextEncoder) {
// var result = encoder.encode(string); var encoder = new TextEncoder("utf-8");
var result = encoder.encode(string);
var buf = new ArrayBuffer(string.length); return result;
var bufView = new Uint8Array(buf); } else {
for (var i=0, strLen=string.length; i<strLen; i++) { string = unescape(encodeURIComponent(string));
bufView[i] = string.charCodeAt(i); var buf = new ArrayBuffer(string.length);
} var bufView = new Uint8Array(buf);
return buf; for (var i=0, strLen=string.length; i<strLen; i++) {
} bufView[i] = string.charCodeAt(i);
}
return buf;
}
}
arrayBufferToHexString(arrayBuffer) { arrayBufferToHexString(arrayBuffer) {
var byteArray = new Uint8Array(arrayBuffer); var byteArray = new Uint8Array(arrayBuffer);