使用RSA签名验证初体验

博客第一篇,将原来学习C#及RSA时编写的一个demo重新发布出来,之前只是在自己的空间中进行了分享。以下是当时写的内容,可能理解上还存在着问题,不断学习中。。

开头是不是要写点儿什么呢?纠结了会儿…算了,不写开头了,愉快的进入正题。

在一个简单的demo做出来之后,开始想着往上边添加一些其他的东西。。。便有了下边的情况:

①没注册不让使用功能

使用RSA签名验证初体验_第1张图片

②只有特定生成的注册码才能注册成功

③注册成功之后再打开就别再让注册了,但是还得验证下

紧接着就到注册码的生成和验证:

①注册码生成:不同的主机应该添点什么生成只适合它的独一份呢?一个序列号经过注册机变成了一个注册码

②验证:那么多独一份注册码怎么对应的验证

之后:

①用机器码当序列号是可行的,这个是独一份的,填上签名

②验证的过程,让注册码跟自己的序列号经过处理对比下,一致了验证通过

③只有自己的注册机才能完成签名,所有人都能进行验证,是自己签名的才能使用,不是自己签名的不让用~~

经过一番搜索之后,RSA

  • 公钥私钥的生成

使用RSA签名验证初体验_第2张图片

  • 私钥签名

  1. 序列号:使用机器码信息,这里只使用了CPU的信息,然后经过了一道MD5加密(直接只用CPU的信息似乎有点少了)

使用RSA签名验证初体验_第3张图片

2.注册机:根据序列号生成注册码

使用RSA签名验证初体验_第4张图片

3.私钥在生成注册码时进行使用

使用RSA签名验证初体验_第5张图片

  • 公钥验证

  1. 注册时

使用RSA签名验证初体验_第6张图片

使用RSA签名验证初体验_第7张图片

同时在客户端下生成文件Regist.key。

2.注册之后的使用中

通过公钥校验Regist.key文件中的签名信息以及经过处理的待签名序列号信息。这样即便是Regist.key文件被复制,但是在校验中获取的是当前环境下的序列号信息。

 

你可能感兴趣的:(使用RSA签名验证初体验)