当前位置: 首页 > 知识库问答 >
问题:

使用Math.Random获得相同值的概率

霍浩皛
2023-03-14

要求是发送一个唯一的id到数据库时,用户单击提交按钮。所以我使用的是JavascriptMath.random方法。我只想知道使用math.random获得相同数字的机会或可能性是多少,以及使用math.random的位大小是多少。

共有1个答案

柳深
2023-03-14

你面临着一个叫做生日问题的问题:即使有366个可能的生日,当你只有26个人在一个房间里时,其中一对有相同生日的可能性要比50-50强。一般来说,当你的数字接近样本大小的平方根(26在平方根366的附近)时,碰撞很可能发生。

JavaScript的math.random()具有大约52位随机性。因此,当您的记录计数接近2**26时,冲突应该很可能发生,这大约是6000万,对于一个数据库来说,这是一个相当适度的大小。

您应该使用至少128位(最好是256位)的加密安全PRNG,以避免冲突。可能有可供使用的UUID库。

 类似资料:
  • 我要从数据库中获取数据,包括空值,显示在concat作为查询工作的数据库结构的数据和查询结果附加图像,我要所有的答案值,包括空值 以下是我的疑问; 查询结果: 我的数据库结构

  • 我想知道创造概率的最好或最被接受的方法是什么。我做了一些研究,发现了一些关于Math.random()主题的有趣的问题和答案,例如: 例如,我知道是一种有用的方法,可以在将近50%的时间内生成1: -math.random()生成介于0(含)和1(不含)之间的随机数 -如果生成的数字<0.5,这个数字乘以2仍然会小于1,所以这个数字。floor()返回一个0

  • 我正在使用BCryptPasswordEncoder使用spring security。现在对于更改密码,我需要做的是比较用户提供的现有密码和DB值。 但是由于salt是由动态生成的,所以每次我从下面的方法得到不同的散列值,并且不一定会与我的DB值匹配。 解决这个问题的办法是什么?我能识别用于我的DB字段的盐并在上面的方法中使用相同的盐吗?

  • 我必须使用google places api实现餐厅定位服务,如下所示: https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=43.7666321,11.2546258 但结果与使用谷歌地图进行的近距离搜索大不相同: https://www.google.it/maps/search/Ristoranti/@4

  • 我写了一段代码,对给定的输入进行排序,但在返回排序后的输入后,它将始终返回相同的输出。我正在使用创建控制台应用程序。Visual Studio中的NET 5.0(当前版本)。 当我输入“Car-Apple-Banana”时,它会按单词排序。排序() 之后,我打印出原始输入,但它似乎也被排序。我不知道为什么,因为我从不分类。 当输入为:“汽车苹果香蕉” 我现在得到的输出是: 苹果香蕉车 苹果香蕉车

  • 输出如下:http://imgur.com/a/nu3n6