개발/Javascript
자바스크립트(Javascript, Node.js)에서 랜덤 문자열 생성하는 방법(Generate random string/characters in JavaScript)
남양주개발자
2020. 8. 4. 11:08
728x90
반응형
자바스크립트(Javascript, Node)에서 랜덤 문자열을 간단하게 생성하는 방법은 uuid 모듈을 활용하면 됩니다. uuid 모듈의 v4활용하면 간단하게 랜덤 문자열을 생성할 수 있습니다. 자세한 내용은 여기에서 문서를 참고하세요.
// ES6 module syntax
import { v4 as uuidv4 } from 'uuid';
var id = uuidv4();
// "110ec58a-a0f2-4ac4-8393-c866d813b8d1"
// CommonJS syntax
const { v4: uuidv4 } = require('uuid');
uuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'
만약 의존성없이 코드를 구현하고 싶으시다면, 아래와 같이 직접 구현하는 방법도 있습니다. 레거시 브라우저에도 호환이 되니까 레거시 브라우저를 대응한다면 아래 코드로 구현하면 됩니다.
// dec2hex :: Integer -> String
// i.e. 0-255 -> '00'-'ff'
function dec2hex (dec) {
return dec < 10
? '0' + String(dec)
: dec.toString(16)
}
// generateId :: Integer -> String
function generateId (len) {
var arr = new Uint8Array((len || 40) / 2)
window.crypto.getRandomValues(arr)
return Array.from(arr, dec2hex).join('')
}
console.log(generateId())
// "82defcf324571e70b0521d79cce2bf3fffccd69"
console.log(generateId(20))
// "c1a050a4cd1556948d41"
728x90
반응형
그리드형