ð² ä¹±æ°çææ©
èšå®ãå ¥åããŠãçæããããæŒããŠãã ãã
æå°å€ã»æå€§å€ã®ç¯å²ãæå®ããã ãã§ããã®ç¯å²å ã®ã©ã³ãã ãªæŽæ°ãæå®ããåæ°çæã§ããããŒã«ã§ãããéè€ãªãããªãã·ã§ã³ã䜿ãã°ãæœéžããã³ãŽã®ãããªéè€ããªãæ°åã®æœåºã«ã䜿ããŸããæå·åŠçã«å®å šãªä¹±æ°çæåšã䜿çšããŠããŸãã
äœ¿ãæ¹
- æå°å€ãšæå€§å€ãå ¥åããŸãã
- çæããåæ°ãå ¥åããå¿ èŠã«å¿ããŠãéè€ãªããã«ãã§ãã¯ãå ¥ããŸãã
- ãçæããããã¿ã³ãæŒããšãã©ã³ãã ãªæ°å€ã衚瀺ãããŸãã
èšç®ã®ä»çµã¿
ãã®ããŒã«ã¯ãæå®ããç¯å²ïŒæå°å€ãæå€§å€ã䞡端ãå«ãïŒãããã©ã³ãã ãªæŽæ°ã1ã1000åäœããŸããä¹±æ°ã«ã¯ããã©ãŠã¶ã®æå·åŠçã«å®å šãªä¹±æ°çæåšïŒcrypto.getRandomValuesïŒã䜿ã£ãŠããŸãã ä¹±æ°ãç¯å²ã®å€§ããã§å²ã£ãäœãããã®ãŸãŸäœ¿ããšãç¯å²ã«ãã£ãŠã¯ãããã«åºãããæ°ãã§ããïŒã¢ãžã¥ããã€ã¢ã¹ïŒãããåãã®åå ã«ãªãç¯å²ã®ä¹±æ°ã¯æšãŠãŠåŒãçŽããŠããŸãã ãéè€ãªããããªã³ã«ããå Žå ã»ç¯å²ãçããšã: ç¯å²ã®ãã¹ãŠã®æ°ã䞊ã¹ããã£ãã·ã£ãŒâã€ã§ãŒãæ³ã§ã·ã£ããã«ããŠå é ããåããŸã ã»ç¯å²ãåºããšã: æ°ã1ã€ãã€äœãããã§ã«åºãæ°ãªãåŒãçŽããŸãïŒ1ã10åã®ãããªåºãç¯å²ã§ãããã¹ãŠã®æ°ã䞊ã¹ãã«æžã¿ãŸãïŒ
èšç®äŸ
1ã100ãã5åïŒéè€ããïŒã®äŸ: 42, 7, 88, 42, 15 ïŒåãæ°ãåºãããšããããŸãïŒ 1ã43ãã6åïŒéè€ãªãïŒ: ãã6ã®æ°åéžã³ã«äœ¿ããŸã 1ã6ãã1å: ãµã€ã³ãã®ä»£ãã éè€ãªãã§ãç¯å²ããå€ãåæ°ïŒ1ã10ãã20åãªã©ïŒã¯äœããŸããã
䜿çšäžã®æ³šæ
- æœéžãé çªæ±ºããªã©ãå ¬å¹³ãã倧åãªå Žé¢ã§ã䜿ããããã«ãæå·çšã®ä¹±æ°çæåšã䜿ã£ãŠããŸãã
- ãéè€ãªããã§äœã£ãæ°ã®äžŠã³é ãã©ã³ãã ã§ããå°ããé ã«äžŠã¹ããå Žåã¯ãäœã£ãåŸã«äžŠã¹æ¿ããŠãã ããã
- äœã£ãæ°ã¯ãã©ãŠã¶å ã§äœãããå€éšã«éä¿¡ãããããšã¯ãããŸããã
ãããã質å
ãéè€ãªãããéžã¶ãšã©ããªããŸãã?
åãæ°å€ãè€æ°ååºçŸããªãããã«çæãããŸãããã ããçæããåæ°ãç¯å²å ã®æŽæ°ã®ç·æ°ãè¶ ããå Žåã¯ãšã©ãŒã«ãªããŸãã
çæã§ããåæ°ã«äžéã¯ãããŸãã?
ã¯ãããã©ãŠã¶ã®è² è·è»œæžã®ããã1åã®çæã§æå€§1000åãŸã§ã«å¶éããŠããŸãã
䜿çšãããŠããä¹±æ°ã¯ã©ã®ãããå®å šã§ãã?
Math.random()ã§ã¯ãªããæå·åŠçã«å®å šãªä¹±æ°çæåš(crypto.getRandomValues)ã䜿çšããŠããŸããæœéžãæå·çšéã«ãé©ããå質ã§ãã