howsecureismypassword / hsimp Archived

Teraz możesz użyć miernika siły hasła howsecureismypassword.net na swoich własnych stronach.

About

Nie tylko mówi, że hasło jest „słabe” lub „silne”, ale How Secure is My Password? pozwala użytkownikom dowiedzieć się, jak długo zajmie komuś złamanie ich hasła. Sprawdza również 10 000 najczęściej używanych haseł, jak również wiele innych (takich jak powtarzające się ciągi znaków, numery telefonów i słowa, po których następują liczby).

Inne wersje

To jest wersja waniliowa JS wtyczki. Dostępne są również inne wersje:

  • jQuery Version: howsecureismypassword/jquery
  • WordPress Version: howsecureismypassword/wordpress

Instalacja

bower install hsimp

CSS

Kopiuj plik build/hsimp.css do swojego katalogu css i dołącz go do swojego dokumentu <head>:

<link rel="stylesheet" href="/css/hsimp.css">

JavaScript

Kopiuj plik build/hsimp.min.js do swojego katalogu js i dołącz go na dole dokumentu <body>:

<script src="/js/hsimp.min.js"></script><!-- Other scripts go here -->

Plik hsimp.min.js może być opcjonalnie używany z modułami ładującymi AMD i Common JS przy użyciu nazwy modułu hsimp. Jeśli nie zostanie znaleziony żaden program ładujący moduły, zostanie udostępniona globalna funkcja hsimp.

Użycie

Funkcja hsimp przyjmuje dwa argumenty: obiekt konfiguracji i element HTML <input>

hsimp({ options: { calculationsPerSecond: 1e10, // 10 billion, good: 31557600e3, // 1,000 years ok: 31557600 // 1 year }, outputTime: function (time, input) { console.log(time, input); }, outputChecks: function (checks, input) { console.log(checks, input); }}, document.getElementById("password"));

Konfiguracja

Obiekt konfiguracji obsługuje trzy właściwości:

  • options: obiekt opcji, które wpływają na obliczenia
  • outputTime: funkcja, której przekazywana jest długość czasu, jaki zajęłoby złamanie danego hasła
  • outputChecks: funkcja, której przekazywana jest lista wyników różnych sprawdzeń

opcje

Obecnie istnieją trzy obsługiwane opcje:

  • calculationsPerSecond: zakładana liczba obliczeń na sekundę, jaką może wykonać cracker (domyślnie: 10e9 – 10 miliardów)
  • good: minimalny czas (w sekundach), jaki zajęłoby złamanie „dobrego” (zielonego) hasła (domyślnie: 31557600e6 – 1 milion lat)
  • ok: minimalny czas (w sekundach), jaki zajęłoby złamanie hasła „ok” (pomarańczowego) (domyślnie: 31557600 – 1 rok)

outputTime

Funkcji outputTime przekazywane są dwie zmienne: czas, jaki zajęłoby złamanie hasła (jako ciąg znaków czytelny dla człowieka) oraz (opcjonalnie) dane wejściowe, do których się odwołuje.

var renderTime = function (time, input) { document.getElementById("password-strength").innerHTML = time;}hsimp({ outputTime: renderTime }, document.getElementById("password"));

outputChecks

Funkcji outputChecks przekazywane są dwie zmienne: tablica wyników sprawdzania oraz (opcjonalnie) dane wejściowe, do których się odwołuje.

Każdy wynik sprawdzania jest obiektem o trzech właściwościach:

  • name: nazwa/tytuł sprawdzania
  • message: jakiś tekst objaśniający
  • level: poziom nasilenia (insecure, warning, notice, achievement)
{ name: "Length: Very Short", message: "Your password is very short. The longer a password is the more secure it will be.", level: "warning"}

Język

Pliki językowe można aktualizować za pomocą następujących metod, z których każda przyjmuje obiekt:

hsimp.setDictionary(lang)

Ustawia wartości dla „natychmiast” i „na zawsze”. Zobacz https://github.com/howsecureismypassword/modules-main/blob/develop/dictionary.json

hsimp.setPeriodDictionary(lang)

Ustawia okresy (np. sekundy, dni, lata, itp.). Zobacz https://github.com/howsecureismypassword/modules-period/blob/develop/period-dictionary.json

hsimp.setNamedNumberDictionary(lang)

Ustawia nazwy liczb. Zobacz https://github.com/howsecureismypassword/modules-named-number/blob/develop/named-number-dictionary.json

hsimp.setCheckerDictionary(lang)

Ustawia sformułowania różnych kontroli. Zobacz https://github.com/howsecureismypassword/modules-checker/blob/develop/checker-dictionary.json

Currying

Funkcja hsimp obsługuje currying. Oznacza to, że możesz ustawić opcje raz, a następnie użyć zwróconej funkcji do ustawienia więcej niż jednego wejścia:

var attachHSIMP = hsimp({ // shared options here});attachHSIMP(document.getElementById("input-1"));attachHSIMP(document.getElementById("input-2"));

Licencja

The MIT License (MIT)

Copyright (c) 2015, Mark Nicholas Wales / Small Hadron Collider

Pozwala się niniejszym, nieodpłatnie, każdej osobie uzyskującej kopię tego oprogramowania i związanych z nim plików dokumentacji („Oprogramowanie”), na nieograniczone rozporządzanie Oprogramowaniem, włączając w to bez ograniczeń prawo do używania, kopiowania, modyfikowania, łączenia, publikowania, rozpowszechniania, udzielania sublicencji i/lub sprzedaży kopii Oprogramowania, oraz zezwalania na to osobom, którym Oprogramowanie zostało dostarczone, z zastrzeżeniem następujących warunków:

Powyższa informacja o prawach autorskich oraz niniejsza informacja o zezwoleniu powinny być zawarte we wszystkich kopiach lub istotnych częściach Oprogramowania.

OPROGRAMOWANIE JEST DOSTARCZANE „TAK JAK JEST”, BEZ GWARANCJI JAKIEGOKOLWIEK RODZAJU, WYRAŹNEJ LUB DOROZUMIANEJ, WŁĄCZAJĄC W TO, ALE NIE OGRANICZAJĄC SIĘ DO GWARANCJI PRZYDATNOŚCI HANDLOWEJ, PRZYDATNOŚCI DO OKREŚLONEGO CELU I NIENARUSZALNOŚCI. IN NO EVENT SHALL THEAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHERLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS INTHE SOFTWARE.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.