首页 电脑 电脑学堂 查看内容

图片添加滤镜

2015-3-11 17:35 584 0

摘要: self.items = @[@"Original",                   ...
关键词: 密文 密钥 加密 nbsp 一个 序列号 注册机 然后 字符串 地址

最近在做一个关于软件开发版权的注册机,当然这个涉及到的加密算法都是现有的MD5和DES,所以我是对他们进行包装,然后供我使用,这里也算是提供一个 思路吧,让不理解注册机原理的童鞋了解一下怎么自己写一个简单的注册机。当然这里涉及到项目的一些内容,所以核心代码不能提供。       项目中不仅开发了PC端也开发了Android端的软件,所以注册机要适用这两个的注册。客户的PC端和Android端分别开发一个获取序列号,然后有 激活码就能注册的程序,但是我们服务端还要额外开发一个生成激活码的注册机程序。大致思路是这样的:首先第一步都是要获取唯一标识的一串字符编码,PC端 可以用CPU的id,MAC地址,硬盘序列号等信息或者几个信息的拼接;Android端可以用Serial Number,wifi的MAC地址或者蓝牙的地址,DeviceID等信息。其次,对获取到的唯一标识的字符串进行MD5加密,然后得到固定长度的32 位字符串。你可以把这32位作为DES加密的密文,也可以取其中部分作为密文,比方说我们取开始的8位作为密文。DES加密还需要密钥,这个密钥我们可以 用时间信息,比方说,我们获取当前时间,然后对时间字符串进行MD5加密,然后取8的整数倍位数的字符串作为密钥,因为DES的密钥要求是8的的倍数位 数。这样密文和密钥我们都有了,然后DES加密,得到加密后的明文,我们的序列号就是明文和密钥的拼接组成的,一定要有密钥在序列号里面,因为DES加密 和解密都是要密钥才能实现的。服务端的注册机只要有序列号,然后把明文和密钥分离出来,再DES解密获取到密文,再对密文进行一定规律的组合,生成激活 码。客户端得到激活码,按组合的规律获取到密文,验证密文是否就是之前进行DES加密的那一串MD5字符串就知道是否是有效的注册码了。        这里贴几张做好的DEMO的演示的图片。 PC端的生成序列号的DEMO Android端生成序列号的DEMO 服务端生成激活码的DEMO        这里有一些代码是可以分享的,我就不贴出来了,直接上传,留了地址。        PC端写好的辅助类,一个是获取PC的cpu的id,MAC地址,硬盘信息;还有一个是MD5加密的类;另外一个是DES加解密的类,这里有源码:http://download.csdn.net/download/u012321815/8493453       这是android版的注册机用到的一个我自己写的辅助包,包里面也有三个写好了的帮助类,一个是获取手机唯一标识码类,这个类获取手机的Serial Number,MAC地址和DeviceId;还有一个类是MD5加密的算法实现;另外一个是DES加密算法的实现,这里有源 码:http://download.csdn.net/detail/u012321815/8493459
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部