@gby/uniqueid
Version:
uniqueid 无任何依赖,提供了获取唯一标识相关的工具,比如:UUID、UCID、Fingerprint、浏览器指纹、唯一标识符 等等
46 lines (45 loc) • 1.5 kB
TypeScript
/**
* 获取浏览器的Canvas指纹,用来标识设备上的浏览器
* 理论上,对于 不同计算机实体的不同浏览器会生成不同的指纹标识
* @returns
*
*
* 经过测试,ctx.fillRect() 会导致在 Safari、Chrome、Edge 等浏览器刚启动初期渲染的Canvas指纹不一致,Safari经常需要刷新三次才能得到稳定的 Canvas指纹
* 所以,这里不用 ctx.fillRect() 进行绘制;
* 另外部分 window.navigator 中的数据也浏览器刚启动前期,也会有变化
* 所以,这里也不使用 window.navigator
*/
export declare function getCanvasFingerprint(): string;
export declare function setKeyPrefix(keyPrefix: string): void;
/**
* 获取 UUID 通用唯一识别码,用于标识浏览器,对于不同电脑实体的不同浏览器 会有不同的值
* @returns
*/
export declare function getUUID(): string;
/**
* 设置 UUID
* @param {*} id
*/
export declare function setUUID(id: string): void;
/**
* 生成唯一的标识符,每次调用生成的都不一样
* @returns {string}
*/
export declare function createUniqueIdentifier(): string;
/**
* 获取 UCID
* 如果不重置,则每个浏览器中同一个域名下每次获取的都一样
* @returns
*/
export declare function getUCID(): string;
/**
* 设置 UCID
* @param {*} id
*/
export declare function setUCID(id: string): void;
/**
* MurmurHash3 算法
* @param key
* @returns
*/
export declare function murmurhash3_32_gc(key: string): number;