UNPKG

@gby/uniqueid

Version:

uniqueid 无任何依赖,提供了获取唯一标识相关的工具,比如:UUID、UCID、Fingerprint、浏览器指纹、唯一标识符 等等

46 lines (45 loc) 1.5 kB
/** * 获取浏览器的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;