【JavaScript】ランダムなパスワード文字列を生成する

  • 英大文字
  • 英小文字
  • 数字
  • 記号

JavaScriptにおいて、上記で構成されるパスワード (ランダムな文字列) を生成したい時。

function generatePassword(length) {
const str = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789*.!@#$%^&(){}[]:;<>,.?/~_+-=|\\';
return [...crypto.getRandomValues(new Uint32Array(length))]
.map((v) => str[v % str.length])
.join('');
}