utils_crypto_generate-uuidv4.ts
/**
* Math.random 기반의 UUID 생성용
*
* @function generateUUIDv4
* @returns {string} UUID v4 형식의 36자리 문자열 (예:
* 110ec58a-a0f2-4ac4-8393-c866d813b8d1)
* @memberof $f
* @example
* const uuid = generateUUIDv4();
* console.log(uuid); // "110ec58a-a0f2-4ac4-8393-c866d813b8d1"
*
*/
export function generateUUIDv4(): string {
return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(
/[xy]/g,
function (c) {
const r = (Math.random() * 16) | 0; // 0~15 범위의 난수
const v = c === "x" ? r : (r & 0x3) | 0x8; // UUID v4 규칙 적용
return v.toString(16);
},
);
}