2012-06-24 20 views
1

所以我試圖實現NT & Lan管理器散列在JavaScript中(是的,我不知道它是最好的語言選擇!),但它將被用於簡單的靜態網頁,其中回發是不可能的 - 所以沒有PHP或.NET或Java。在JavaScript中填充一個字符串空

我遇到的問題是協議的第一部分,基本上你必須確保密碼是14個字符,如果它超過14你需要修剪(簡單),但是如果它在14以下,你需要null填充密碼字符串以將其設置爲十四個字符。

一個null如何在JavaScript中填充一個字符串?

請注意,我不問如何在Javascript中填充字符串。

(而且獎金問題,如果任何人在任何JS預先製作NT或LM的散列庫的人都知道,我會很感激的擡起頭!)

回答

5
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