Ọrọigbaniwọle monomono Ọ̀fẹ́
Ṣ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.
Bí Ó Ṣe Ń Ṣiṣẹ́
A ń ṣẹ̀dá àwọn ọ̀rọ̀-ìgbaniwọlé pátápátá nínú aṣàwákiri rẹ pẹ̀lú crypto.getRandomValues() API Web Crypto — orísun àìròtẹ́lẹ̀ cryptographic kan náà tí àwọn aṣàwákiri ń lò fún TLS. Kò sí Math.random(), kò sí sáfà, kò sí ìbéèrè nẹ́tíwọ́ọ̀kì kankan.
- 1Ìkó ìpapọ̀ àmì papọ̀Dá lórí àwọn àyàn àpótí-ìṣàyẹ̀wò rẹ, irinṣẹ́ náà ń kọ́ àwọn àtòjọ ọ̀tọ̀ọ̀tọ̀ fún ńlá, kékeré, nọ́mbà, àti àwọn àmì. Bí 'yọ àwọn àmì tí ó jọra kúrò' bá tan, àwọn àmì tí ó jọra lójú bí 1, l, I, 0, àti O ni a yọ kúrò nínú àkópọ̀ kọ̀ọ̀kan kí ìpapọ̀ náà tó dá.
- 2Yíyan láìròtẹ́lẹ̀ tí a ti fi ìṣàyẹ̀wò-kíkọ̀ síA ń fi ipò àmì kọ̀ọ̀kan pẹ̀lú crypto.getRandomValues() pẹ̀lú ìṣàyẹ̀wò-kíkọ̀: bí iye láìròtẹ́lẹ̀ gan-an bá bọ́ sí apá tí ó ní ìtẹ̀sí ti ìpín náà, a kọ ọ́ tí a sì tún fà á. Èyí ń yọ ìtẹ̀sí modulo kúrò tí yóò mú àwọn àmì kan lè hàn ju àwọn mìíràn lọ.
- 3Ìdánilójú ìpapọ̀ irúLẹ́yìn tí a bá ti fa gbogbo ọ̀rọ̀-ìgbaniwọlé náà, irinṣẹ́ náà ń ṣàyẹ̀wò bóyá àmì kan wà ó kéré tán láti inú irú kọ̀ọ̀kan tí a yàn. Bí kò bá sí, ó ń tún fa gbogbo ọ̀rọ̀-ìgbaniwọlé náà tí ó sì ń tún ṣàyẹ̀wò — títí dé ìgbà 100 — dípò kí ó pààrọ̀ àwọn àmì sí àwọn ipò tí a dá kalẹ̀, èyí tí yóò yí ìpín náà padà.
- 4Ìṣírò entropy àti àkókò-fífọ́Irinṣẹ́ náà ń ṣírò entropy gẹ́gẹ́ bí gígùn × log2(ìwọ̀n ìpapọ̀) ó sì ń ṣírò àkókò-fífọ́ ní lílo ìṣírò àyè-log lòdì sí ìpìlẹ̀ GPU bílíọ̀nù 100 ìdábàá-fún-ìṣẹ́jú-aaya (tí ó bá àwọn hash tí ó yára bí i MD5 mu; àwọn ọ̀rọ̀-ìgbaniwọlé tí bcrypt/Argon2 dáàbò bò yóò gba àkókò pípẹ́ jù). Àwọn nọ́mbà méjèèjì ń yí padà lẹ́sẹ̀kẹsẹ̀ bí o bá yí ìtò padà.
Olùmújáde náà ń ṣiṣẹ́ pátápátá nínú aṣàwákiri rẹ — a kì í fi àwọn ọ̀rọ̀-ìgbaniwọlé, ìtò, tàbí dátà lílò ránṣẹ́ sí sáfà kankan láé.
Àwọn Irinṣẹ Tó Jọra
Olùṣàyẹ̀wò Agbára Ọ̀rọ̀-Ìgbaniwọlé
Ṣà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ẹ.
Ìdíni Ọ̀rọ̀
Dí àti tú ọ̀rọ̀ pẹ̀lú ọ̀rọ̀-ìgbaniwọlé nípa lílo AES-256-GCM tí ó lágbára. Ọ̀rọ̀-ìgbaniwọlé kò kúrò nínú ẹ̀rọ àwárí rẹ rárá. Pín àwọn àṣírí lọ́nà tí ó dájú.
Ìsàmíràn Fáìlì (AES-256-GCM)
Fi ọ̀rọ̀-ìgbaniwọlé sàmíràn fáìlì kankan nípa lílo AES-256-GCM àti PBKDF2 (àkókò 250,000). Fáìlì .enc tí ó jáde yóò ṣílẹ̀kùn nìkan pẹ̀lú ọ̀rọ̀-ìgbaniwọlé tí ó tọ́, ohun èlò yìí nìkan sì lè ṣí i padà. Ó ń ṣiṣẹ́ pátápátá lára ẹ̀rọ rẹ — fáìlì rẹ kò lọ kúrò lára ẹ̀rọ rẹ rí.