C# 非对称加密&;产品密钥
我在实现非对称加密以生成应用程序的产品密钥时遇到问题。 步骤如下:C# 非对称加密&;产品密钥,c#,encryption-asymmetric,product-key,C#,Encryption Asymmetric,Product Key,我在实现非对称加密以生成应用程序的产品密钥时遇到问题。 步骤如下: 我创建了一个文件,其中包含一个代码(一系列字符),具体取决于随机数、windows产品密钥和卷“安装windows的位置”序列号 公钥加密该代码 用户向我发送代码 我解密它并做我需要的事情,以提供产品密钥反馈(我们将此部分称为AZ) 我用私钥对其进行加密,并将其发送回客户/用户 用户可以/希望在应用程序中插入该产品密钥(通过对话框输入),应用程序将其解密并检查其是否符合需要 我要解决的目标/问题是: 1.如果一个“非新手”打
- 我创建了一个文件,其中包含一个代码(一系列字符),具体取决于随机数、windows产品密钥和卷“安装windows的位置”序列号
- 公钥加密该代码
- 用户向我发送代码
- 我解密它并做我需要的事情,以提供产品密钥反馈(我们将此部分称为AZ)
- 我用私钥对其进行加密,并将其发送回客户/用户
- 用户可以/希望在应用程序中插入该产品密钥(通过对话框输入),应用程序将其解密并检查其是否符合需要
也许(可能?)我遗漏了一些东西,或者“大素数”不符合我的想法,对我来说,“大数”肯定超过1k,可能超过1kk……我是否遗漏了一些关于这方面的信息,甚至是关于计算非常大的数的信息?安全非对称加密是使用128位的数字完成的(至少使用ECDSA…)它们是如此之大以至于你甚至无法想象它们:-)好的,那么在C#中你是如何做到这一点的呢?我的意思是使用128位数字。通常非对称加密库使用特殊的大数字子库来进行大数字运算。。。.NET的
biginger
类就足够了(即使不是很快也不是很优化)。现在谢谢你,我会检查库,我不是这方面的专家。安全非对称加密是用128位的数字完成的(至少用ECDSA…),它们太大了,你甚至无法想象它们:-)好的,在C中你是怎么做到的?我的意思是使用128位数字。通常非对称加密库使用特殊的大数字子库来进行大数字运算。。。.NET的biginger
类就足够了(即使不是很快也不是很优化)。现在谢谢你,我会检查库,我不是它们的专家