有需要联系:1034682998
需要重写Uint8Array.prototype.fill
Uint8Array.prototype.fill = function (value) {
if (this == null) {
throw new TypeError('this is null or not defined');
}
var O = Object(this);
var len = O.length >>> 0;
var start = arguments[1];
var relativeStart = start >> 0;
var k = relativeStart < 0 ? Math.max(len + relativeStart, 0) : Math.min(relativeStart, len);
var end = arguments[2];
var relativeEnd = end === undefined ? len : end >> 0;
var final = relativeEnd < 0 ? Math.max(len + relativeEnd, 0) : Math.min(relativeEnd, len);
while (k < final) {
O[k] = value;
k++;
}
return O;
} ;
let originalBuffer = paddedBuffer.slice(0, paddedBuffer.length - paddingLength)
等同于
let originalBuffer = paddedBuffer.subarray(0, paddedBuffer.length - paddingLength)
Uint8Array.from([])
等同于
new Uint8Array([])
this.decryptRoundKeys = Uint32Array.from(this.encryptRoundKeys)
this.decryptRoundKeys.reverse()
等同于
let strBuffer = new Uint32Array(this.encryptRoundKeys)
let mstrBuffer = []
for (i = 0; i < strBuffer.length; i++)
mstrBuffer[i] = strBuffer[i]
mstrBuffer.reverse()
this.decryptRoundKeys = new Uint32Array(mstrBuffer)
function _TextEncoder() { }
_TextEncoder.prototype.encode = function (s) {
var data = unescape(encodeURIComponent(s)).split('').map(function (val) {
return val.charCodeAt();
});
return typeof Uint8Array == "function" ? new Uint8Array(data) : data;
}
;
function _TextDecoder() { }
_TextDecoder.prototype.decode = function (code_arr) {
return decodeURIComponent(escape(String.fromCharCode.apply(null, code_arr)));
}
_TextDecoder使用时需要传数组过来--因此utf8ArrayBufferToString 需要改写
var utf8ArrayBufferToString = function (strBuffer) {
let mstrBuffer = []
for (i = 0; i < strBuffer.length; i++)
mstrBuffer[i] = strBuffer[i]
let decoder = new _TextDecoder('utf-8')
return decoder.decode(mstrBuffer)
}