PHP WebShell

Текущая директория: /usr/lib/node_modules/bitgo/node_modules/metro/src/shared/output

Просмотр файла: meta.js

"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true,
});
exports.default = _default;
var _crypto = _interopRequireDefault(require("crypto"));
function _interopRequireDefault(e) {
  return e && e.__esModule ? e : { default: e };
}
const isUTF8 = (encoding) => /^utf-?8$/i.test(encoding);
const constantFor = (encoding) =>
  /^ascii$/i.test(encoding)
    ? 1
    : isUTF8(encoding)
      ? 2
      : /^(?:utf-?16(?:le)?|ucs-?2)$/.test(encoding)
        ? 3
        : 0;
function _default(code, encoding = "utf8") {
  const buffer = asBuffer(code, encoding);
  const hash = _crypto.default.createHash("sha1");
  hash.update(buffer);
  const digest = hash.digest("buffer");
  const signature = Buffer.alloc(digest.length + 1);
  digest.copy(signature);
  signature.writeUInt8(
    constantFor(tryAsciiPromotion(buffer, encoding)),
    signature.length - 1,
  );
  return signature;
}
function tryAsciiPromotion(buffer, encoding) {
  if (!isUTF8(encoding)) {
    return encoding;
  }
  for (let i = 0, n = buffer.length; i < n; i++) {
    if (buffer[i] > 0x7f) {
      return encoding;
    }
  }
  return "ascii";
}
function asBuffer(x, encoding) {
  if (typeof x !== "string") {
    return x;
  }
  return Buffer.from(x, encoding);
}

Выполнить команду


Для локальной разработки. Не используйте в интернете!