Files
SnowLuma/.pnpm-store/v11/files/d7/06f3217c1cc5d26ac517e9f7b417bff77555b3b2ee4a9badefd21965046270a0a719a8acd22292016538ed12bce16198af61225a41412bc31e00e653dbab10
TanTan 2a69b23b47
Dev Build / cleanup (push) Canceled after 0s
Dev Build / typecheck (push) Canceled after 0s
Dev Build / build (linux-arm64, ubuntu-24.04-arm, linux-arm64) (push) Canceled after 0s
Dev Build / build (linux-x64, ubuntu-latest, linux-x64) (push) Canceled after 0s
Dev Build / build (win-x64, windows-latest, win32-x64) (push) Canceled after 0s
Dev Build / dispatch-dev-docker (push) Skipped
docs: 仓库链接指向本镜像仓库
2026-11-13 09:27:07 +08:00

40 lines
1.1 KiB
Plaintext

'use strict';
var uppercase = require('./variants/scoring/uppercase.cjs');
var l33t = require('./variants/scoring/l33t.cjs');
var dictionaryMatcher = ({
rank,
reversed,
l33t: l33t$1,
subs,
token,
dictionaryName
}) => {
const baseGuesses = rank; // keep these as properties for display purposes
const uppercaseVariations = uppercase(token);
const l33tVariations = l33t({
l33t: l33t$1,
subs,
token
});
const reversedVariations = reversed && 2 || 1;
let calculation;
if (dictionaryName === 'diceware') {
// diceware dictionaries are special, so we get a simple scoring of 1/2 of 6^5 (6 digits on 5 dice)
// to get fix entropy of ~12.9 bits for every entry https://en.wikipedia.org/wiki/Diceware#:~:text=The%20level%20of,bits
calculation = 6 ** 5 / 2;
} else {
calculation = baseGuesses * uppercaseVariations * l33tVariations * reversedVariations;
}
return {
baseGuesses,
uppercaseVariations,
l33tVariations,
calculation
};
};
module.exports = dictionaryMatcher;
//# sourceMappingURL=scoring.cjs.map