【问题标题】:Generate seemingly random ascii from input从输入生成看似随机的 ascii
【发布时间】:2015-09-08 02:18:41
【问题描述】:

给定一个任意长度的字符串(小),我需要生成一个看起来随机的固定长度的字符串。在相同的输入上运行函数应该总是产生相同的输出字符串。

我的第一个想法是使用字符串的 md5 哈希。这几乎可以工作,但即使我将结果编码为 base 64,结果字符串也只包含 0-9 a-z A-Z,我也需要它包含符号。

在有人问之前:不,这不是家庭作业。

【问题讨论】:

  • 这是什么语言的?
  • 你觉得base64是怎么做到的?同样的方法是否适用于包含符号的较长字母表?
  • @TheGuywithTheHat 显然是 ASCII。这几天风靡一时。你可以按照以下方式做一些事情:bin2hex(openssl_random_pseudo_bytes(16)); 但这只是十六进制字符......
  • 你能不能把输入变成数字(不知道语言不知道怎么做最好),然后用这个数字作为种子的随机数生成器?
  • rot13 是老式的做法...

标签: javascript ascii


【解决方案1】:

感谢戴帽子的家伙的意见,我想出了以下内容。

Math.seedrandom(input + salt);
var output = "";
for (var i = 0; i < length; i++)
  output += String.fromCharCode (Math.random () * 94 + 33);

此代码使用seedrandom.jsMath.random () 提供种子。

【讨论】:

    猜你喜欢
    • 2010-11-05
    • 1970-01-01
    • 2017-03-22
    • 1970-01-01
    • 1970-01-01
    • 2012-01-30
    • 1970-01-01
    • 1970-01-01
    • 2013-02-06
    相关资源
    最近更新 更多