never heard of such thing, but you might be able to model after ASP.NET Server Control Licensing
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/aspnetcontrollicensing.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/aspnetcontrollicensing.asp
我想解决是这样的一个问题:我有一个基于b/s结构的管理软件。
我想对它实行加密。每一个用户在使用此软件之前,必须把一个验证页面产后的cdkey返回给我,由我把与cdkey想对应的注册码发给此用户,用户得到此注册码之后,输入验证页面,验证通过,才能使用此软件,当然验证只需要一次。 回复人: shoutor(土人制造) ( ) 信誉:100 2004-06-17 09:12:00 得分: 0
我目前使用的就是读取机器的Mac地址,通过该地址生成一个CDKEY,在使用前需先注册
shoutor的与我的想法相似, 倶体的解决方案请讲解一下啊。。谢谢了
好象可以把你的管理软件的服务器端做成.exe文件
经过封装的.exe文件里做加密应该简单且方法很多
其他部分和客户端使用web编程曾经见过托普的一个OA系统(收费版)是这样处理的说的不对,请楼主见谅!
但是这种方法有个问题,如果用户的机器没有网卡,那就不行啦
高手出来分析一下吧
好象可以把你的管理软件的服务器端做成.exe文件
经过封装的.exe文件里做加密应该简单且方法很多
其他部分和客户端使用web编程这也是一种方法,我先前考虑过,但是只是从外部打包加密,安装到服务器上之后,程序还是可以被移到另外一台服务器上使用啊。有人曾经说写入注册表里的信息到程序里,哎呀,真头疼啊,越来越复杂了。。 回复人: xinshaw(清瘦卫郎) ( ) 信誉:100 2004-06-17 14:07:00 得分: 0 我的想法跟shoutor(土人制造)差不多,根据用户的MAC地址,使用一个算法来计算注册码
但是这种方法有个问题,如果用户的机器没有网卡,那就不行啦
高手出来分析一下吧
这也是考虑到一个方面吧。。网卡,是硬件的问题了。
不过只要是.exe文件,就应该比纯.web容易许多啊
可否这样考虑
用户安装完你的软件
软件根据用户机器硬盘序列号生成一个cdkey发给你
你再把相应的注册码什么的给他
自然你给他的软件里也有相应的注册码处理
他总不会拿着硬盘天天跑吧???或者你再看看其他.exe文件加密的方法,不要只局限于.web上
关于加密我研究不多
不过只要是.exe文件,就应该比纯.web容易许多啊
可否这样考虑
用户安装完你的软件
软件根据用户机器硬盘序列号生成一个cdkey发给你
你再把相应的注册码什么的给他
自然你给他的软件里也有相应的注册码处理
他总不会拿着硬盘天天跑吧???或者你再看看其他.exe文件加密的方法,不要只局限于.web上有道理,我的思路有点开了,这样,把用户硬盘序列号加密后生成一个cdkey,用户把这个cdkey传给我,我用解密工具解密后生成一个注册码返回给用户。用户输入这个注册码,注册码就会存入web程序中的.dll文件中,每次运行都要检查此注册码是否和用户机器上的一致,这样也可以达到加密软件的作用。
只要你的.exe文件里也有同样的解密算法就行而且我还是建议用.exe把主程序封装
除非你的.dll很关键,或者就是主程序的主要部分
要不别人很容易根据你的代码绕过你的.dll
那样就没用了
有没有具体的解决方案呢?
我现在也只是想到了,但是还做不到啊。。
以前看到过,不过记不起在哪里看的
有时间我帮你找找看
你也可以去网上搜索一下
Imports System.Manaement Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Dim disk As ManagementBaseObject
Dim strResult As String
Dim diskClass = New ManagementClass("Win32_LogicalDisk")
Dim disks As ManagementObjectCollection
disks = diskClass.GetInstances()
For Each disk In disks
strResult = ""
strResult += "设备ID:" & disk("DeviceID") & vbCrLf
strResult += "磁盘名称:" & disk("Name") & vbCrLf
strResult += "磁盘卷标:" & disk("VolumeName") & vbCrLf
If disk("FileSystem") <> "" Then strResult += "文件系统:" & disk("FileSystem") & vbCrLf
strResult += "磁盘描述:" & disk("Description") & vbCrLf
If System.Convert.ToInt64(disk("Size")) > 0 Then
strResult += "磁盘大小:" & System.Convert.ToInt64(disk("Size").ToString()) & vbCrLf
strResult += "磁盘类型:" & System.Convert.ToInt16(disk("DriveType").ToString())
End If MsgBox(strResult) Next End Sub
>>>注册码就会存入web程序中的.dll文件中???use a backend database to keep track of which users have registered
你觉得注册码存入数据库的话安全吗?
但是用户在后台都可以看得到数据库结构和数据啊。
如果存入.dll文件中是不是有很大的技术困难呢?
对啊,是企业用户,就是你讲的这个流程。