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) {
// not available on Edge/IE
// var encoder = new TextEncoder("utf-8");
// var result = encoder.encode(string);
var buf = new ArrayBuffer(string.length);
var bufView = new Uint8Array(buf);
for (var i=0, strLen=string.length; i<strLen; i++) {
bufView[i] = string.charCodeAt(i);
}
return buf;
}
if(window.TextEncoder) {
var encoder = new TextEncoder("utf-8");
var result = encoder.encode(string);
return result;
} else {
string = unescape(encodeURIComponent(string));
var buf = new ArrayBuffer(string.length);
var bufView = new Uint8Array(buf);
for (var i=0, strLen=string.length; i<strLen; i++) {
bufView[i] = string.charCodeAt(i);
}
return buf;
}
}
arrayBufferToHexString(arrayBuffer) {
var byteArray = new Uint8Array(arrayBuffer);