我正在 matlab 中寻找基于 float 的唯一标识符,因此我想到了哈希函数。 Matlab(我们较少记录的 Java 部分,甚至(Windows)系统命令)是否为任何哈希函数(例如 MD5)提供任何可能性?
uniquehash=hash(5);
uniquehash=hash('asdf');
相关:datahash script
来自 java 的可能有用的唯一标识符:char(java.util.UUID.randomUUID)
据我所知,这不是重复的,因为我需要一个基于 float 的唯一标识符。但是请告诉我是否...
最佳答案
I need a unique identifier based on a float number.
假设您正在谈论 64 位 float ,这意味着只能有 2^64(最多)个可能的唯一标识符。您也可以使用号码本身作为标识符。
使用 MD5、SHA1、SHA2 等加密哈希不会使数字变得更加唯一。最终,2^64 种可能的 float 映射到 2^64 种可能的哈希值。大多数 2^128(或其他)理论上可能的哈希值根本无法生成。
(如果您谈论的是 32 位 float ,请将 2^32 替换为 2^64!)
关于java - matlab基于数字的唯一标识符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46197182/