【问题标题】:Generating secure, random, Ascii encoded string in JavaScript在 JavaScript 中生成安全、随机、Ascii 编码的字符串
【发布时间】:2012-08-24 16:12:18
【问题描述】:

我想为我的 JavaScript 程序生成一个安全且 ASCII 编码的随机随机数(它必须在 WebKit 中工作)。最好,我想使用现成的工具。到目前为止,我找到的唯一答案是: Secure random numbers in javascript?

唯一的问题是结果是随机的,我不确定如何在不牺牲安全性的情况下对其进行 ASCII 编码(即减少随机性)。

编辑:Math.random() 在密码学上不是安全的,window.crypto 只生成字节的倍数(ASCII 值是 7 位,所以如果编码机制实现得天真,它会降低随机性)。

【问题讨论】:

  • 编码不会改变其编码值的随机性。
  • 我认为 ASCII 是 7 位的,window.crypto 只生成一个字节的倍数的值。我的直觉告诉我将其编码回 7 位可能会降低随机性。
  • Math.random() 不是加密安全的。
  • 在您定义secure的意思之前,我们无法提供解决方案?
  • @EricChen 如果我在 x 和 y 之间生成一个随机整数并让你猜,如果我碰巧用不同的方式表达这个数字,你能更好地猜到吗?

标签: javascript html webkit cryptography


【解决方案1】:

您可以将任意字节数组编码为 Base64 以获得纯 ASCII。

猜你喜欢
  • 1970-01-01
  • 2017-01-15
  • 2010-11-23
  • 2014-06-08
  • 1970-01-01
  • 2012-02-12
  • 1970-01-01
  • 2021-09-03
  • 1970-01-01
相关资源
最近更新 更多