我给了一个项目(服务器端c#sn生成器),我必须为其实现基本许可系统(它更多的是测试而不是实际项目),但是有一些要求:
此外,客户端部件正在验证序列号,如下所示:
VerifyMyKey(p1, p2, p3);
其中:
是否有任何SignData生成数字的示例如:
1111-1111-1111-1111
或类似的东西,因为我现在得到的是base64编码的字符串,但它不是人类友好的。
有没有人有任何想法?
答案 0 :(得分:2)
你的意思是签名应该是16个字节长吗?使用2048位RSA是不可能的。根据定义,一个密文块(包括数字签名)的长度与密钥大小相同,即2048位= 256字节。 RSA使用块,它不是流密码。少一些东西不能正确解密/验证。
如果您希望输出具有任意长度但由16个十六进制数字组成,则这是另一回事。 RSA将数据作为字节数组输出,随意将它们表示为十六进制数字 - 每个字节两位数。 2048位二进制数据块的长度为512十六进制数。