Olùṣàyẹ̀wò Agbára Ọ̀rọ̀-Ìgbaniwọlé Ọ̀fẹ́
Ṣàyẹ̀wò bí ọ̀rọ̀-ìgbaniwọlé rẹ ti lágbára tó pẹ̀lú ìtúpalẹ̀ entropy, àkókò ìwàráàyà tí a ṣírò, àti àkọsílẹ̀-ìṣàyẹ̀wò kíkún ti àwọn ohun tí a béèrè. Ó ń ṣiṣẹ́ pátápátá nínú ẹ̀rọ àwárí rẹ.
Ìṣàyẹ̀wò agbára ń ṣiṣẹ́ lórí ẹ̀rọ rẹ nìkan. Ìṣàyẹ̀wò ìjàǹbá tí kò pọndandan tó wà ní ìsàlẹ̀ ń fi àmì márùn-ún àkọ́kọ́ ti SHA-1 hash (kì í ṣe ọ̀rọ̀ìgbaniwọlé fúnra rẹ̀) ránṣẹ́ sí pwnedpasswords.com.
Ìṣírò àfojúdi nìkan. Ìdíwọ̀n náà jẹ́ àfojúsùn tí ó dá lórí ìṣètò àti àtòjọ ọ̀rọ̀ìgbaniwọlé tó wọ́pọ̀. Fún àwọn ọ̀rọ̀ìgbaniwọlé tó ti jò, ìṣàyẹ̀wò ìjàǹbá tó wà ní ìsàlẹ̀ ni ìdánwò tó ṣeé gbẹ́kẹ̀lé jù.
Bí Ó Ṣe Ń Ṣiṣẹ́
Ìtúpalẹ̀ agbára ń ṣiṣẹ́ pátápátá nínú aṣàwákiri rẹ pẹ̀lú ẹ́ńjìnnì JavaScript tí a fi ọwọ́ kọ — kò sí ìwé-ìṣirò, kò sí sáfà. Ó ń so ìṣírò entropy ìpapọ̀-àmì, ìdámọ̀ àwòṣe (àwọn ìṣàn kọ́kọ́rọ́ ẹ̀rọ ìtẹ̀wé, àwọn àmì tí a tún ṣe, àwọn ìdípò wọ́pọ̀), àti wíwádìí ìjì-àsírí yíyàn tí ó ń lo API Web Crypto àti k-anonymity nítorí náà ọ̀rọ̀-ìgbaniwọlé rẹ kì í kúrò lára ẹ̀rọ rẹ láé.
- 1A ṣírò entropy ìpapọ̀Bí o ṣe ń kọ, irinṣẹ́ náà ń wọn irú àmì tí ó wà — kékeré (26), ńlá (26), nọ́mbà (10), àmì (32) — ó ń pọ̀sí ìwọ̀n ìpapọ̀ àpapọ̀ pẹ̀lú log2 láti rí bit entropy fún àmì kọ̀ọ̀kan, kí ó sì pọ̀sí i pẹ̀lú gígùn ọ̀rọ̀-ìgbaniwọlé. Ọ̀rọ̀-ìgbaniwọlé kékeré-gbogbo àmì 10 kan ń bẹ̀rẹ̀ ní ìwọ̀n bit 47.
- 2Àwọn ìjìyà àwòṣe ni a fi síloA sì ń dín entropy gan-an náà kù fún ìtòlẹ́sẹẹsẹ tí a lè sọ tẹ́lẹ̀: àwọn ìṣàn kọ́kọ́rọ́ ẹ̀rọ ìtẹ̀wé bí 'qwe' tàbí 'asd', àwọn ìṣàn ìtòlẹ́sẹẹsẹ bí 'abc' tàbí '321', àwọn ọdún àmì-mẹ́rin (1900–2099), àti àwọn ìṣàn àmì tí a tún ṣe ọ̀kọ̀ọ̀kan ń jẹ owó bit 10. Irinṣẹ́ náà tún ń yí àwọn ìdípò l33t wọ́pọ̀ padà (@ → a, 0 → o, $ → s) tí ó sì ń yọ àwọn nọ́mbà ìparí kúrò láti mú 'P@ssw0rd1' gẹ́gẹ́ bí ọ̀rọ̀-ìgbaniwọlé wọ́pọ̀-tí-a-mọ̀ 'password' tí ó jẹ́ gan-an.
- 3A fi àmì àti àkókò-fífọ́ síloEntropy tí a ti ṣàtúnṣe àti àtòjọ-ìṣàyẹ̀wò mẹ́sàán-án (gígùn, irú àmì, kò sí àwọn ìṣàn tí a tún ṣe, kì í ṣe ọ̀rọ̀-ìgbaniwọlé wọ́pọ̀-tí-a-mọ̀) papọ̀ ń pinnu àmì kan láti Rẹ̀wẹ̀sì Gan-an sí Líle. A ń ṣírò àkókò-fífọ́ ní lílo bílíọ̀nù 10 ìdábàá fún ìṣẹ́jú-aaya — nọ́mbà tí ó wọ́pọ̀ ti àwọn ìkọlù GPU tí kò sórí ayélujára — tí a ṣírò gẹ́gẹ́ bí 2^entropy / 10,000,000,000.
- 4Ìṣàyẹ̀wò fífọ́ yíyàn nípasẹ̀ k-anonymityBí o bá tẹ 'Ṣàyẹ̀wò lòdì sí àwọn fífọ́ tí a mọ̀', API Web Crypto ń fi SHA-1 kó ọ̀rọ̀-ìgbaniwọlé rẹ ládùúgbò nínú aṣàwákiri. Àmì hex márùn-ún àkọ́kọ́ nìkan ti hash yẹn ni a fi ránṣẹ́ sí API àyè Have I Been Pwned; a ń bá ìparí náà mu ní ẹgbẹ́-oníbàárà. Hash pípé náà — àti ọ̀rọ̀-ìgbaniwọlé fúnrarẹ̀ — kì í kúrò lára ẹ̀rọ rẹ láé.
A kì í fi ọ̀rọ̀-ìgbaniwọlé rẹ ránṣẹ́ síbikíbi láé — gbogbo ìtúpalẹ̀ agbára ń ṣiṣẹ́ ládùúgbò nínú JavaScript, ìṣàyẹ̀wò fífọ́ yíyàn sì ń lo k-anonymity (àmì hash àyọkà márùn-ún nìkan ni a fi ránṣẹ́ sí API Have I Been Pwned, tí ó ń mú kí ó ṣòro ní ìmọ̀-ẹ̀rọ fún iṣẹ́ yẹn láti tún ọ̀rọ̀-ìgbaniwọlé rẹ kọ́).
Àwọn Irinṣẹ Tó Jọra
Olùyẹ̀wò Jíjò Ọ̀rọ̀-ìgbaniwọlé
Ṣàyẹ̀wò bóyá ọ̀rọ̀-ìgbaniwọlé kan ti farahàn nínú àwọn jíjò dátà tí a mọ̀ nípasẹ̀ Have I Been Pwned — nípa lílo k-anonymity, nítorí náà a ń fi hash sí ọ̀rọ̀-ìgbaniwọlé náà ládùúgbò, ìṣáájú hash oníhàn-márùn-ún nìkan ni a fi ránṣẹ́. Ọ̀rọ̀-ìgbaniwọlé fúnra rẹ̀ kò lọ kúrò nínú aṣàwárí rẹ rí.
Ọrọigbaniwọle monomono
Ṣe ina awọn ọrọ igbaniwọle to lagbara, laileto pẹlu gigun aṣa, awọn iru ohun kikọ, ati awọn imukuro. Ko si awọn opin, ko si awọn iwọle.
Olùka Syllable
Ka syllable fún ọ̀rọ̀ kọ̀ọ̀kan àti lápapọ̀, pẹ̀lú Flesch reading ease àti ìpele kíláàsì.