【发布时间】:2013-06-09 22:34:38
【问题描述】:
我正在寻找一种有效的方法来构建具有特定要求但长度可能不同的随机字符串。它必须:
- 至少包含一个大写字符。
- 至少包含一个小写字符。
- 至少包含一个数字。
- 至少包含一个特殊字符: _-|@.,?/!~#$%^&*(){}[]+=
随机字符串不必是唯一的,但如果是,那就更好了。它将在 node.js 服务器中使用,因此可以使用任何加密库。我看到了Math.random().toString(36),它很接近但并没有让我明白一切。我不确定我是否应该尝试为此构建一个正则表达式。
【问题讨论】:
-
正则表达式将用于验证您的字符串/要求。它不会生成字符串。
-
加密总是使用
crypto.randomBytes()
标签: javascript node.js random