UUID 생성 함수 uuidgen()

Jmnote (토론 | 기여)님의 2021년 11월 10일 (수) 17:11 판 (→‎Java)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)


  다른 뜻에 대해서는 리눅스 uuidgen 문서를 참조하십시오.

1 Bash[ | ]

V1
uuidgen -t
# 260ac300-d225-11e5-906e-00163ed267d5
V4
uuidgen 
# 5335a9b7-8f13-4f93-8eb0-abe724577fb5

2 Cmd[ | ]

powershell -Command "[guid]::NewGuid().ToString()"
REM 36080c0a-31e6-443a-af6e-96515a5ae0d5

3 Java[ | ]

import java.util.UUID;
public class MyClass {
    public static void main(String args[]) {
        System.out.println( UUID.randomUUID().toString() );
    }
}

4 JavaScript[ | ]

function uuidgen() {
  function s4() { return ((1 + Math.random()) * 0x10000 | 0).toString(16).substring(1); }
  return s4() + s4() + '-' + s4() + '-' + s4() + '-' + s4() + '-' + s4() + s4() + s4();
}
console.log( uuidgen() );
// 1bc78fba-bff9-2356-1629-ee2414c7b038

5 PHP[ | ]

function uuidgen() {
   return sprintf('%08x-%04x-%04x-%04x-%04x%08x',
      mt_rand(0, 0xffffffff),
      mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0xffff),
      mt_rand(0, 0xffff), mt_rand(0, 0xffffffff)
    );
}
echo uuidgen();
# 2ef6f5ca-30a2-abb3-2355-59c2cdae7740
V4
function uuidgen4() {
   return sprintf('%04x%04x-%04x-%04x-%04x-%04x%04x%04x',
      mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0xffff),
      mt_rand(0, 0x0fff) | 0x4000, mt_rand(0, 0x3fff) | 0x8000,
      mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0xffff)
    );
}
echo uuidgen4();
# cf00412e-d409-49a2-a4e4-4e6f734b3d86
$uuid = exec('uuidgen');
echo $uuid;
# 59ddcf86-4dcd-4cac-9248-b20efc9bfa97
function uuidgen() { return exec('uuidgen'); }
$uuid = uuidgen();
echo $uuid;
# 30161ed0-4228-4877-8d00-d7c8da503126

6 PHP-CLI[ | ]

php -r 'echo exec("uuidgen");'
# 0f8818b4-c1c5-40d7-bdcb-60c8fff7860f

7 PowerShell[ | ]

[guid]::NewGuid().ToString()
# e9372123-a6a9-422c-adb5-086b9c1e45ad

8 Python[ | ]

V1
import uuid
print uuid.uuid1()
# a8098c1a-f86e-11da-bd1a-00112444be1e
V4
import uuid
print uuid.uuid4()
# 16fd2706-8baf-433b-82eb-8c7fada847da

9 SQL[ | ]

9.1 MySQL[ | ]

V4
SELECT UUID();
# 3b83975e-c677-11eb-a49c-001132792ddd

SELECT UUID(), UUID(), UUID(), UUID(), UUID(), UUID();
# 3b839766-c677-11eb-a49c-001132792ddd
# 3b839769-c677-11eb-a49c-001132792ddd
# 3b83976b-c677-11eb-a49c-001132792ddd
# 3b83976e-c677-11eb-a49c-001132792ddd
# 3b839770-c677-11eb-a49c-001132792ddd
# 단점 : 첫 자리만 다르게 되고, 나머지 뒷자리들은 같은 값이 나와 버리는 단점이 있음.
# 첫 자리는 타임스탬프 기반이기 때문에, 생성 시기가 같으면, 첫 자리에서 마지막 한 자리만 다르게 생성된다. (시간차를 두면 첫 자리 전체가 바뀔 수는 있음)

9.2 MSSQL (SQLserver)[ | ]

SELECT NEWID();
-- 6E5DE391-488B-4FA8-A43F-878A13565C1B

10 같이 보기[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}