eslint-plugin-no-credentials
Version:
An ESlint plugin checking for any hardcoded credentials
32 lines (23 loc) • 778 B
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
var log2 = function log2(x) {
return Math.log(x) / Math.log(2);
};
function calculateEntropy(string) {
var entropy = 0;
var charset = (0, _toConsumableArray2["default"])(new Set(string.split('')));
for (var i = 0; i < charset.length; i++) {
var ratio = (string.split(charset[i]).length - 1) / string.length;
if (ratio > 0) {
entropy -= ratio * log2(ratio);
}
}
return entropy;
}
var _default = calculateEntropy;
exports["default"] = _default;
;