加密一词来源已久,自从人们希望对自己私人的信息得到保护开始,就有了加密这个概念。软件行业的加密是软件厂商为了保护软件开发的利益而采取的一种软件保护方式,加密的好坏直接影响到软件的销售。当前软件加密的方法多种多样,基本上来说可以分为不依赖硬件的加密方案和依赖特定硬件的的加密方案。就不依赖特定硬件的软加密来说,很多的共享软件都是采用序列号加密或者是许可证加密等等,而这种加密方式的用户名和序列号都是在您的计算机上完成的,这样就会给破解者可趁之机,给软件的合法使用造成巨大的隐患,本方案可有效的避免这种漏洞。
方案原理说明:
本方案示例,注册程序通过E199加密锁中的公钥对输入的用户名进行RSA私钥加密运算(1024位),产生注册码。主程序通过锁中的私钥对注册码解密,以此来验证用户注册的合法性,如果用户合法将启用高级功能。开发商可以根据这一方案实现软件使用版本的发布。
方案示例:
本说明文档中仅列举核心代码或函数,详细的代码设计,请参看方案源代码。所有操作均在插有ET199加密锁的状态下完成,并且加密锁属性都是出厂默认设置。
一、 运行注册机程序GenRegCode.exe
图4
输入用户名“zhangsan”,单击“算码”,将在“注册码”中显示出计算之后的注册码。复制注册码,当然如果记忆力足够好的话,也可以记下然后在主程序中手动敲入。
//公钥加密
int CGenRegCodeDlg::RSAEncode(BYTE* pbuf, int len)
{