在javascript中保护随机数?

2022-01-10 00:00:00 cryptography javascript

如何在 javascript 中生成加密安全的随机数?

How do I generate cryptographically secure random numbers in javascript?

推荐答案

例如,您可以使用鼠标移动作为随机数的种子,在 onmousemove 事件发生时读出时间和鼠标位置,将该数据提供给白化函数并你手头会有一些头等舱.但请确保用户在使用数据之前已充分移动鼠标.

You can for instance use mouse movement as seed for random numbers, read out time and mouse position whenever the onmousemove event happens, feed that data to a whitening function and you will have some first class random at hand. Though do make sure that user has moved the mouse sufficiently before you use the data.

我自己通过制作密码生成器对这个概念进行了一些尝试,我不能保证我的美白功能是完美无缺的,但是不断地重新播种我很确定它对于这项工作来说已经足够了:电子商务.hopto.org/generator.htm

I have myself played a bit with the concept by making a password generator, I wouldn't guarantee that my whitening function is flawless, but being constantly reseeded I'm pretty sure that it's plenty for the job: ebusiness.hopto.org/generator.htm

Edit2:它现在有点适用于智能手机,但只能在收集熵时禁用触摸功能.Android 将无法以任何其他方式正常工作.

It now sort of works with smartphones, but only by disabling touch functionality while the entropy is gathered. Android won't work properly any other way.

相关文章