博客第一篇,将原来学习C#及RSA时编写的一个demo重新发布出来,之前只是在自己的空间中进行了分享。以下是当时写的内容,可能理解上还存在着问题,不断学习中。。
开头是不是要写点儿什么呢?纠结了会儿…算了,不写开头了,愉快的进入正题。
在一个简单的demo做出来之后,开始想着往上边添加一些其他的东西。。。便有了下边的情况:
①没注册不让使用功能
②只有特定生成的注册码才能注册成功
③注册成功之后再打开就别再让注册了,但是还得验证下
紧接着就到注册码的生成和验证:
①注册码生成:不同的主机应该添点什么生成只适合它的独一份呢?一个序列号经过注册机变成了一个注册码
②验证:那么多独一份注册码怎么对应的验证
之后:
①用机器码当序列号是可行的,这个是独一份的,填上签名
②验证的过程,让注册码跟自己的序列号经过处理对比下,一致了验证通过
③只有自己的注册机才能完成签名,所有人都能进行验证,是自己签名的才能使用,不是自己签名的不让用~~
经过一番搜索之后,RSA
-
公钥私钥的生成
-
私钥签名
- 序列号:使用机器码信息,这里只使用了CPU的信息,然后经过了一道MD5加密(直接只用CPU的信息似乎有点少了)
2.注册机:根据序列号生成注册码
3.私钥在生成注册码时进行使用
-
公钥验证
- 注册时
同时在客户端下生成文件Regist.key。
2.注册之后的使用中
通过公钥校验Regist.key文件中的签名信息以及经过处理的待签名序列号信息。这样即便是Regist.key文件被复制,但是在校验中获取的是当前环境下的序列号信息。