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,9 +90,12 @@ 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);
return result;
} else {
string = unescape(encodeURIComponent(string));
var buf = new ArrayBuffer(string.length); var buf = new ArrayBuffer(string.length);
var bufView = new Uint8Array(buf); var bufView = new Uint8Array(buf);
for (var i=0, strLen=string.length; i<strLen; i++) { for (var i=0, strLen=string.length; i<strLen; i++) {
@@ -100,6 +103,7 @@ class SNCryptoWeb extends SNCrypto {
} }
return buf; return buf;
} }
}
arrayBufferToHexString(arrayBuffer) { arrayBufferToHexString(arrayBuffer) {
var byteArray = new Uint8Array(arrayBuffer); var byteArray = new Uint8Array(arrayBuffer);