
ãŸãã£ãšã¢ã㪠#06ïœåŒ·ããã¹ã¯ãŒãçæããŒã« ïŒå šã³ãŒãïŒäœãæ¹ã€ãïŒ
ã匷ããã¹ã¯ãŒããäœã£ãŠããšèšãããŠãçµå±ãªã«ãâ匷ãâã®ãããµãã£ãšããŠããŸãããã
ãã®ããŒã«ã¯ãæšæž¬ããã«ãããã¹ã¯ãŒããæå·åŠçã«å®å
šãªä¹±æ°ã§çæãããã®åŒ·ãããââbitããšããæ°åãšãè§£èªã«äœå¹Žãããããã§èŠããåããŸãããã¹ãã¬ãŒãºïŒèŠããããåèªã€ãªãïŒã«ã察å¿ãçæãå€å®ããåŠçã¯ããã¶ãã©ãŠã¶ã®äžã ããäœã£ããã¹ã¯ãŒãã¯ã©ãã«ãéä¿¡ãããŸããã
ãã®èšäºãè²·ããšã宿åã®ã¢ããªäžåŒïŒHTMLãã¡ã€ã«1åïŒãšãå
šã³ãŒãïŒäœãæ¹ã®è§£èª¬ãæã«å
¥ããŸãã
â ã·ãªãŒãºããŸãã£ãšã¢ããªãïŒç¬¬6åïŒ
ãè²·ããšâåãã¢ããªâãæã«å ¥ããããã«å šã³ãŒãã«ã³ã¡ã³ãïŒäœãæ¹ã®è§£èª¬ã€ããæ¹é ãã§ãããââ1èšäºå®çµã®ã·ãªãŒãºã§ãã
#06 匷ããã¹ã¯ãŒãçæããŒã« ð ããŸãã
åå·ã¯ç¬ç«ããŠããã®ã§ããã®èšäºã ãè²·ãã°å®çµããŸãïŒ#01ã#05ã¯äžèŠïŒããã¹ãŠHTML1ãã¡ã€ã«ã§åãã»ãµãŒããŒäžèŠã»ã³ããã§å®æã
ð ãŸãã¯å®æåã§è©ŠããŠã¿ãŠãã ããïŒç¡æïŒ
é·ããæåçš®ãéžãã§ãçæããããåºãŠãããã¹ã¯ãŒãã®äžã«ã匷ãïŒbitïŒãšãæšå®è§£èªæéããåºãŸããèšå·ãè¶³ãããé·ãã䌞ã°ããšãè§£èªæéããåããããå 幎ããŸã§è·³ãäžããã®ãããŸãäœæããŠã¿ãŠãã ããã宿åãšãŸã£ããåããã®ããç¡æã§å ¬éããŠããŸãã
â¶ ãã¢ïŒç¡æã»ç»é²äžèŠïŒïŒ
ãã¹ã¯ãŒãçæãç¡æã匷åãªã©ã³ãã ãã¹ã¯ãŒããå³äœæ | MyTool Studio
ããã¹ã¯ãŒããã¿ãã®ã»ãã«ããã¹ãã¬ãŒãºãã¿ãããããŸãã`Robin-Tango-Trout-Table-Dance-73` ã®ããã«ãèŠããããåèªãã€ãªãã åèšèãäœãã¢ãŒãã§ããã匷ãïŒæå³äžæãªèšå·ã®çŸ åãã ããããªãããšããçºèŠãããã¯ãã§ããããããã©ããã£ãŠåŒ·ããæž¬ã£ãŠãã®ïŒããšæã£ããããã®èšäºã®åºçªã§ãã
ãã®ã¢ããªã§ã§ããããš
ð ãã¹ã¯ãŒãçæïŒé·ãïŒ4ã64ïŒã»æåçš®ïŒå€§æåïŒå°æåïŒæ°åïŒèšå·ïŒãéžãã§çæ
ð ãã¹ãã¬ãŒãºçæïŒèŠããããåèªãã€ãªãã åèšèãçæïŒåºåãæåã»å é 倧æåã»æ°åä»äžãéžæå¯ïŒ
ð 匷ãã bit ã§æ°å€åïŒããšã³ããããŒããèšç®ãã匱ãïŒæ®éïŒåŒ·ãïŒãšãŠã匷ãïŒæ¡å€ã ã§å€å®
â±ïž æšå®è§£èªæéã衚瀺ïŒããŸã®èšå®ã ãšç·åœããã«äœåã»äœå¹Žã»äœå 幎ããããã®ç®å®
ð² çŽããããæåãé€å€ïŒ`O/0` `I/l/1` ãªã©ãé¿ããŠãæžãåããã¹ãé²ããªãã·ã§ã³
ð ãŸãšããŠçæïŒã³ããŒïŒäžåºŠã«æå€§10æ¬çæãã¯ã³ã¿ããã§ã³ããŒ
ð å®å šãã©ãŠã¶å åŠçã»ãµãŒããŒäžèŠïŒçæãããã¹ã¯ãŒãã¯å€éšã«äžåéä¿¡ãããŸãã
ä»çµã¿ã®ãã£ãã解説ïŒãããŸã§ç¡æïŒ
ãã®ã¢ããªã®è骚ã¯ããã£ã2ã€ã®èãæ¹ã§ãã
æ¬åœã«ã©ã³ãã ã«éžã¶ïŒææ°ãã©ãŠã¶æšæºã® `crypto.getRandomValues`ïŒæå·åŠçã«å®å šãªä¹±æ°ïŒã䜿ããŸãã`Math.random()` ã¯äœ¿ããŸããã
匷ããæ°åã§æž¬ãïŒãäœéãã®äžããéžã°ããããã bitïŒãšã³ããããŒïŒ ã§è¡šããŸãã`log2(æåçš®ã®æ°) à é·ã` ãšããããã£ã1è¡ã®åŒã§ãã
ãããŠããã®ã¢ããªã«ã¯ææãšããŠé¢çœããã€ã³ããè©°ãŸã£ãŠããŸãã
ãªã `Math.random()` ã§ã¯ãã¡ãªã®ãïŒãã¹ã¯ãŒãã«äœ¿ã£ãŠã¯ãããªãä¹±æ°ã®è©±
âã¢ãžã¥ããã€ã¢ã¹âãšããèœãšã穎ïŒãä¹±æ° Ã· æåæ°ã®äœããã§éžã¶ãšããªãåãã®ãïŒã©ãé²ããïŒæ£åŽãµã³ããªã³ã°ïŒ
ãšã³ããããŒ(bit)ã®æ£äœïŒãªããé·ãããããèšå·ãå ¥ããããå¹ãã®ãããæ°åŒã§è ã«èœãšã
è§£èªæéã®èŠç©ããæ¹ïŒbit ãããäœå¹Žããããããã©ãéç®ããŠããã
ãã¹ãã¬ãŒãºã®åŒ·ãïŒåèªãã€ãªãæ¹åŒã¯äœ bit ã«ãªãã®ãïŒèŠãããããšåŒ·ãã®ãã¬ãŒããªã
ã©ããããã¹ã¯ãŒãã®â匷ãâã£ãŠçµå±ãªã«ïŒããäžèº«ã®èŠãã圢ã§åãã顿ã§ããHTML1ãã¡ã€ã«ã§å®çµããå€éšã©ã€ãã©ãªããµãŒããŒããããŸããã
ããããå ã¯ããã®**å šã³ãŒãïŒã³ã¡ã³ãä»ãïŒ**ãšãèªå奜ã¿ã«æ¹é ããæ¹æ³ã§ããèšå·ã®çš®é¡ãå€ãããããã¹ãã¬ãŒãºã®åèªãªã¹ããå·®ãæ¿ãããã匷床å€å®ã®ãããå€ãæ»æè ã®æ³å®é床ãå€ãããã§ããŸãã
â ãè³Œå ¥åã«ã確èªãã ãã
å«ãŸãããã®ïŒHTMLãã¡ã€ã«1åã¶ãã®å šã³ãŒãïŒCSSã»JavaScript蟌ã¿ã»ã³ã¡ã³ãä»ãïŒãšãäœãæ¹ïŒæ¹é ã®è§£èª¬ã
åäœç°å¢ïŒPCã»ã¹ããã®ã¢ãã³ãªãã©ãŠã¶ïŒChrome / Edge / Safari ãªã©ïŒãã€ã³ã¹ããŒã«äžèŠãå®å šãªä¹±æ°ïŒWeb Crypto APIïŒã䜿ããããããŒã«ã«ã®ãã¡ã€ã«ïŒ`file://`ïŒãŸã㯠`https://` ã§éããŠãã ããã
å¿ èŠãªç¥èïŒäžèŠã§ããã³ããŒïŒè²Œãä»ããã§ããã°åããŸããæ¹é ãã³ã¡ã³ãã®éãã«é²ããã°OKã
ã³ãŒãã«ã€ããŠïŒå人å©çšã»åçšå©çšOKïŒèªåã®ãµã€ããããã°ã«çœ®ãã»æ¹é ããŠäœ¿ãã®ã¯èªç±ïŒããã ãã³ãŒããã®ãã®ã®åé åžã»è»¢å£²ã»ãã³ãã¬ãŒã販売ã¯ãé æ ®ãã ããã
匷床ã»è§£èªæéã®è¡šç€ºã«ã€ããŠïŒãšã³ããããŒ(bit)ãšè§£èªæéã¯ãã©ã³ãã çæããããã¹ã¯ãŒãã®çè«å€ã§ãïŒæ»æè ãæ¯ç§100åå詊è¡ãããšä»®å®ããç®å®ïŒããèªèº«ã§èãã人éçãªãã¹ã¯ãŒãïŒèªçæ¥ã»åèªãã®ãŸãŸçïŒã®å®å šæ§ã枬ããã®ã§ã¯ãããŸããããããŸã§ãã©ã®èšå®ã匷ããããæ¯ã¹ãããã®ææšãšããŠãå©çšãã ãããè¿éã¯åãä»ããŠãããŸããã
ããã§ã¯ã©ããã