1

所以我正在尝试在 JavaScript 中实现 NT 和 Lan Manager 哈希(是的,我不知道它的最佳语言选择!)但它用于一个简单的静态网页,其中不可能回发 - 所以没有 PHP 或 . NET 或 Java。

我遇到的问题是协议的第一部分,基本上你必须确保密码是 14 个字符,如果超过 14 个你需要修剪(简单),但是如果它低于 14,你需要空填充密码字符串使其达到十四个字符。

JavaScript 中一个空值如何填充一个字符串?

请注意,我不是在问如何在 Javascript 中对字符串进行零填充。

(还有一个额外的问题,如果有人知道 JS 中有任何预制的 NT 或 LM 哈希库,我真的很感激你的提醒!)

4

1 回答 1

6
function nullpad( str, len ) {
    if( str.length >= len ) {
        return str;
    }

    return str + Array( len-str.length + 1 ).join("\x00");
}

nullpad( "", 15 ).length
//15

nullpad( "asd", 15 ).length
//15
于 2012-06-24T11:50:36.963 回答