你这个分为几步:
用户号的生成
你的注册号的生成
注册号的校验和保存
在你的程序关键的功能逻辑中加判断点,如果软件没有输入过合法的注册号就不能使用,提示用户注册
这个是一个功能的划分,但是具体实现起来是相当复杂的,而且加密与解密本来就是矛与盾的关系。而且APK是java写的,反编译以后自然就知道了你的算法,破解难度比较低。所以还有一个办法就是通过互联网认证,不过同样也是可以比较容易被破解的。
另外如果你的软件是商业软件,那么可以和第三方公司合作,他们负责给你的程序进行软加密,从一定程度上解决你的问题,不过那些都是给售价几万甚至更高的软件做的,对于你来说不太适用。
注册机涉及到的是一个算法问题。通常做法是
1,获取机器码
2,程序中按照规则生成一段加密key,或者这个key是固定的字符串。
3,将机器码和key按照一定的组合规则重新组合,并按照既定的运算方式处理后生成一段新的字符串。
4,第三部中生成的字符串就是注册码。
验证:
1,在软件中输入注册码后,将注册码 按照第三步中的反顺序运算,得到key。
2,验证反运算的key是否与上述第一步中固定的key或按照规律生成的key一致。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)