所有的API密钥都是十六进制数字吗?这是某种不成文的约定吗?
对一些半随机数据(例如时间戳+用户ID+密钥)进行MD5哈希是生成定长且难以猜测的密钥的快速方法。
由于MD5生成十六进制输出,人们通常直接使用它。虽然可以将其转换为高进制,但通常没有太大的推动力去这样做,因为传输数据的差异非常小。
不,API密钥是基于书面约定的十六进制数字。
API密钥基于UUIDs。
“UUID作为ISO/IEC 11578:1996《信息技术-开放系统互连-远程过程调用(RPC)》的一部分进行了记录,并在ITU-T Rec. X.667 | ISO/IEC 9834-8:2005中最近得到了记录。IETF已经发布了标准跟踪RFC 4122,它在技术上等同于ITU-T Rec. X.667 | ISO/IEC 9834-8。”
大多数API使用的MD5密钥是UUID的一个版本。