|
绑定网卡实现应用软件加密
作者: 来源: 发布日期:2007-8-13 15:12:41 点击次数:
在应用软件主程序中添加网卡侦测程序和注册状态监视程序。 1. 打开加密程序主窗口。 2. 在Declare下的Global External Functions 中加入以下语句,定义API函数,用于读取网卡号: FUNCTION int fnNet(ref string cardno) LIBRARY “net.dll” //net.dll内包含网卡读取函数 3. 自定义函数。选择Declare下的Window Founctions,出现select function in window界面,选择New,取函数名为f_netcard(),返回值类型为integer,无传入参数,单击OK,输入以下代码: String cover_cardno,ls_mynetno,netpass,cardno ulong ll_num = 13 int li_flg cover_cardno = space(ll_num) li_flg = fnNet(cover_cardno) cover_cardno = left(cover_cardno,12) //根据以上读取的网卡号cover_cardno计算出用户授权号 //从后台数据库中读取对应注册密码串,把读取的注册密码串按加密算法2进行解密运算,并与由网卡算出的用户授权号进行比较,如果两者一致,则继续运行系统,否则打开注册窗口 二、用户注册窗口程序 在应用软件中添加用户注册窗口,用于产生用户授权号并提供用户注册接口。 1. 在用户系统注册窗口(如图 2)的open()方法中加入以下代码: integer li_net string ls_netcardno ulong ll_num = 13 ls_netcardno = space(ll_num) li_net = fnNet(ls_netcardno) //读取网卡号 //把读取的网卡号按加密算法1进行加密运算,得到用户授权号输出到屏幕,以供用户注册。如图 2“软件授权号”所示 2. 在用户系统注册窗口“注册”按钮的click()事件中加入以下代码: integer li_net string ls_netcardno,ls_netpass int i //取网卡号 li_net = fnNet(ls_netcardno) //取网卡密码 ls_netpass =sle_1.text+sle_2.text+sle_3.text+sle_4.text+sle_5.text //拆分网卡密码 string my[25] int j = 0 for j = 1 to 25 my[j]=mid(ls_netpass,j,1) next …… //按加密算法2进行解密运算,判断网卡密码是否正确,如果正确,则注册成功,否则不予注册 三、开发者端远程注册程序 编写开发者端远程注册程序,用于产生用户注册密码。 1. 在“反算网卡号”按钮的click()事件中加入实现以下功能的代码: //加入加密算法1的解密算法,按用户传送来的软件授权号解密出用户机器的网卡号 //将生成的网卡号输出到“反算网卡号”后面的单行输入框中 2. 在“产生密码”按钮的click()事件中加入实现以下功能的逻辑代码: //按用户传送来的软件授权号,经过加密算法2加密,产生相应密码串 3. 在“验证密码”按钮的click()事件中加入以下逻辑代码: string ls_cardno,ls_netpass int i //取网卡号 ls_cardno= sle_2.text //取网卡密码 ls_netpass =sle_4.text+sle_5.text+sle_6.text+sle_7.text+sle_8.text //根据用户网卡号和产生的相应密码串,运行与用户程序注册窗口“注册”按钮的click()事件中相应的解密算法,验证产生的用户密码串是否正确 小 结 软件加密者在选择加密方法时,总是要在加密成本、可靠性、兼容性、透明性等方面进行权衡,本文介绍的加密方法适合于中小型软件系统的加密。
|
|
|
|
|
|
| >>
服务电话 |
|
| 北京总部: 4006-505-808 |
| 上 海 部: 021-58358765 |
| 深 圳 部: 0755-83692929 |
| 浙 江 部: 13666673722 |
| 广 州 部: 020-83821091 |
| 重 庆 部: 023-86870422 |
| 福 建 部: 0591-83300680 |
| 昆 明 部: 15987117834 |
| 其它地区: 4006-505-808 | |
|
|
|
|
 |
|
| 最新案例 |
|
|
|
|
|
 |
|
| 解决方案 |
|
|
|
|
|
|