全局唯一标识符 (GUID)

 C#生成GUID的六种格式

格式一(“D”或“d”):51f2ec38-105c-47f7-8657-82d8375e847c

var uuid = Guid.NewGuid().ToString(); 
var uuidD = Guid.NewGuid("D").ToString(); 

 
格式二(“N”或“n”):f54074a27b6e4406ae38c7944c44ad50

var uuidN = Guid.NewGuid().ToString("N");

 
格式三(“P”或“p”):(c17298bf-954b-44ad-8e32-4fb598ce7e8f)

var uuidP = Guid.NewGuid().ToString("P");

 
格式四(“B”或“b”):{a8826af4-450d-4d6b-864b-cedc210fe04b}

var uuidB = Guid.NewGuid().ToString("B");

 
格式五(“X”或“x”):(ade24d16-db0f-40af-8794-1e08e2040df3)

var uuidX = Guid.NewGuid().ToString("X"); 

 
格式六(生成数字):5443303397224987016

var uuidX = BitConverter.ToInt64(Guid.NewGuid().ToByteArray(), 0);

Javascript生成GUID

算法一:3b96b619-0a23-4ca1-80d4-8d4838173431

function uuid() {
    var s = [];
    var hexDigits = "0123456789abcdef";
    for (var i = 0; i < 36; i++) {
        s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
    }
    s[14] = "4";
    s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1);
    s[8] = s[13] = s[18] = s[23] = "-";

    var uuid = s.join("");
    return uuid;
}

算法二:1704354b-6274-4256-a2e1-b2710672e57c

function guid() {
    return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
        var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
        return v.toString(16);
    });
}

 算法三:17bd3f96-513b-c4e4-1b37-936b2031d00c

function guid() {
    function S4() {
        return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);
    }
    return (S4() + S4() + "-" + S4() + "-" + S4() + "-" + S4() + "-" + S4() + S4() + S4());
}

 算法四:

二进制:guid(16,2);1111010101100011
十进制:guid(16,10);7459326145909010
十六进制:guid(16,16);42DAD4B14F6615CF

function guid(len, radix) {
    var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('');
    var uuid = [], i;
    radix = radix || chars.length;
    if (len) {
        for (i = 0; i < len; i++) uuid[i] = chars[0 | Math.random() * radix];
    } else {
        var r;
        uuid[8] = uuid[13] = uuid[18] = uuid[23] = '-';
        uuid[14] = '4';
        for (i = 0; i < 36; i++) {
            if (!uuid[i]) {
                r = 0 | Math.random() * 16;
                uuid[i] = chars[(i == 19) ? (r & 0x3) | 0x8 : r];
            }
        }
    }
    return uuid.join('');
}
原文地址:https://www.cnblogs.com/sntetwt/p/8093404.html