Tag: rsa key fingerprint

穷人序列号生成方案

我想得到一些简单的方案/算法,用于根据一些独特的硬件ID(cpu id或以太网mac地址或硬盘序列号)生成序列号。 我希望方案只能在一个方向上工作 – 因此客户端计算机上的应用程序可以validation序列号但不生成序列号。 (所以破解并不简单)。 现在很可能你们大多数人都会推荐某种RSA公钥/私钥对加密,它可以足够可靠地工作 – 客户端没有私有RSA密钥,所以他不能“生成”序列号。 但是RSA签名的主要问题是它太大了 – 它的签名大小是128或256字节,具体取决于RSA密钥大小( RSA签名大小? ) 我希望序列号是从邮件到注册表单的简单复制粘贴 – 所以最多64个字符,理想情况下是32个字节。 好吧,现在你可能会说这种保护措施不足以抵御蛮力的黑客行为 – 你只需要尝试所有组合以确定正确的序列号。 但我想说,通常你需要聘请“昂贵”的黑客或黑客团队来创建这种暴力破解应用程序。 此外,我认为可以为下一版本的应用程序更改序列号生成算法,或使用多轮传递来显着减慢暴力。 作为基础,我更喜欢使用普通的C或C ++(而不是C#),最好是Windows / wincrypt.h或任何现有的普通C源代码(最好不是巨大的第3方库)。 是否可以创建RSA公钥/私钥对,因此签名大小为32个字符?