我正在开发一个激活应用程序,我需要收集BIOS序列号以识别PC, 应用程序将BIOS序列号与其他数据相结合,这些数据将被加密, 我需要我的数据不要超过加密的块大小,以防止构建另一个块,这意味着更长的激活字符串。 我需要确保BIOS序列号的长度不会超过某个值,如果它更少,我可以添加一些数据,但如果超过我无法修剪它,因为我需要确保没有激活密钥适用于两台电脑。
我的问题很简单:BIOS序列号的最大长度是多少? 以及如何获得这些标准?
P.S。修剪使我们成为一个很大的问题,因为有些连续出版物的长度超过了要求的值,因此存在一个运行多台PC的密钥。
此致
答案 0 :(得分:3)
使用此类BIOS信息始终至关重要,因为有许多实现。即使您找到了这方面的标准,也无法保证每个供应商都能正确实施。 我会对数据执行哈希函数(SHA256,MD5,无论如何)。因此,您将始终具有与输入长度无关的相同输出长度。 因为输出的熵永远不会大于输入的熵。但这不是一个重点。
答案 1 :(得分:2)
所有这些标准都在SMBIOS tables
和AFAIK中定义,BIOS序列号没有最大或固定长度,这只是一个空终止字符串。