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.