webcrypto utf8 encoding fix
This commit is contained in:
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user