✏️ 编辑:StringXor.js
路径:
/home/boguraj1/public_html/jobsite/node_modules/webpack/lib/util/StringXor.js
大小:1.09 KB · 修改:2022-11-21 20:13:00 · 权限:0644 · 可写
← 返回目录
👁 查看
⬇ 下载
/* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ "use strict"; class StringXor { constructor() { this._value = undefined; } /** * @param {string} str string * @returns {void} */ add(str) { const len = str.length; const value = this._value; if (value === undefined) { const newValue = (this._value = Buffer.allocUnsafe(len)); for (let i = 0; i < len; i++) { newValue[i] = str.charCodeAt(i); } return; } const valueLen = value.length; if (valueLen < len) { const newValue = (this._value = Buffer.allocUnsafe(len)); let i; for (i = 0; i < valueLen; i++) { newValue[i] = value[i] ^ str.charCodeAt(i); } for (; i < len; i++) { newValue[i] = str.charCodeAt(i); } } else { for (let i = 0; i < len; i++) { value[i] = value[i] ^ str.charCodeAt(i); } } } toString() { const value = this._value; return value === undefined ? "" : value.toString("latin1"); } updateHash(hash) { const value = this._value; if (value !== undefined) hash.update(value); } } module.exports = StringXor;
💾 保存
取消
保存为 UTF-8,换行统一为 LF