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

解决方案 »

  1.   

    我目前使用的就是读取机器的Mac地址,通过该地址生成一个CDKEY,在使用前需先注册
      

  2.   

    it is probably very simple, try to add a setting for the CD key in the web.config, try to read it in Application_Start in global.asax, if somehow the CD key provided doesn't satisfy your algorithm, try to crash the AppDomain by throwing an exception (never tried, not sure if it works)
      

  3.   

    看来大家对我思路不太了解啊,我说得也太简略了点。
    我想解决是这样的一个问题:我有一个基于b/s结构的管理软件。
    我想对它实行加密。每一个用户在使用此软件之前,必须把一个验证页面产后的cdkey返回给我,由我把与cdkey想对应的注册码发给此用户,用户得到此注册码之后,输入验证页面,验证通过,才能使用此软件,当然验证只需要一次。 回复人: shoutor(土人制造) ( ) 信誉:100  2004-06-17 09:12:00  得分: 0  
       我目前使用的就是读取机器的Mac地址,通过该地址生成一个CDKEY,在使用前需先注册
     shoutor的与我的想法相似, 倶体的解决方案请讲解一下啊。。谢谢了
     
      

  4.   

    不知道我对楼主的理解对不对
    好象可以把你的管理软件的服务器端做成.exe文件
    经过封装的.exe文件里做加密应该简单且方法很多
    其他部分和客户端使用web编程曾经见过托普的一个OA系统(收费版)是这样处理的说的不对,请楼主见谅!
      

  5.   

    我的想法跟shoutor(土人制造)差不多,根据用户的MAC地址,使用一个算法来计算注册码
    但是这种方法有个问题,如果用户的机器没有网卡,那就不行啦
    高手出来分析一下吧
      

  6.   

    回复人: littlecrest(小浪头) ( ) 信誉:100  2004-06-17 14:07:00  得分: 0  不知道我对楼主的理解对不对
    好象可以把你的管理软件的服务器端做成.exe文件
    经过封装的.exe文件里做加密应该简单且方法很多
    其他部分和客户端使用web编程这也是一种方法,我先前考虑过,但是只是从外部打包加密,安装到服务器上之后,程序还是可以被移到另外一台服务器上使用啊。有人曾经说写入注册表里的信息到程序里,哎呀,真头疼啊,越来越复杂了。。 回复人: xinshaw(清瘦卫郎) ( ) 信誉:100  2004-06-17 14:07:00  得分: 0     我的想法跟shoutor(土人制造)差不多,根据用户的MAC地址,使用一个算法来计算注册码
    但是这种方法有个问题,如果用户的机器没有网卡,那就不行啦
    高手出来分析一下吧
    这也是考虑到一个方面吧。。网卡,是硬件的问题了。
     
      

  7.   

    关于加密我研究不多
    不过只要是.exe文件,就应该比纯.web容易许多啊
    可否这样考虑
    用户安装完你的软件
    软件根据用户机器硬盘序列号生成一个cdkey发给你
    你再把相应的注册码什么的给他
    自然你给他的软件里也有相应的注册码处理
    他总不会拿着硬盘天天跑吧???或者你再看看其他.exe文件加密的方法,不要只局限于.web上
      

  8.   

    回复人: littlecrest(小浪头) ( ) 信誉:100  2004-06-17 14:34:00  得分: 0  
     
     
       关于加密我研究不多
    不过只要是.exe文件,就应该比纯.web容易许多啊
    可否这样考虑
    用户安装完你的软件
    软件根据用户机器硬盘序列号生成一个cdkey发给你
    你再把相应的注册码什么的给他
    自然你给他的软件里也有相应的注册码处理
    他总不会拿着硬盘天天跑吧???或者你再看看其他.exe文件加密的方法,不要只局限于.web上有道理,我的思路有点开了,这样,把用户硬盘序列号加密后生成一个cdkey,用户把这个cdkey传给我,我用解密工具解密后生成一个注册码返回给用户。用户输入这个注册码,注册码就会存入web程序中的.dll文件中,每次运行都要检查此注册码是否和用户机器上的一致,这样也可以达到加密软件的作用。
     
      

  9.   

    或者不用存入.dll文件
    只要你的.exe文件里也有同样的解密算法就行而且我还是建议用.exe把主程序封装
    除非你的.dll很关键,或者就是主程序的主要部分
    要不别人很容易根据你的代码绕过你的.dll
    那样就没用了
      

  10.   

    请教 littlecrest(小浪头)
    有没有具体的解决方案呢?
    我现在也只是想到了,但是还做不到啊。。
      

  11.   

    好象利用API函数可以获取机器的硬盘序列号信息
    以前看到过,不过记不起在哪里看的
    有时间我帮你找找看
    你也可以去网上搜索一下
      

  12.   

    找到一个方法,但是居然不能引用System.Management这个命名空间。。怎么回事啊??
    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
      

  13.   

    add a reference to System.Management.DLL firstImports System.Management
    >>>注册码就会存入web程序中的.dll文件中???use a backend database to keep track of which users have registered
      

  14.   

    谢了。。思归
    你觉得注册码存入数据库的话安全吗?
    但是用户在后台都可以看得到数据库结构和数据啊。
    如果存入.dll文件中是不是有很大的技术困难呢?
      

  15.   

    你的用户是什么样的?是企业用户?先前不太明白你的部署配置情形你的网络程序在启动时可以找一个注册文件,如果不存在,就需要用户提交CDKEY,然后在目录里生成这个注册文件,同时把信息缓存在记忆里如果这个文件存在,你就用你的算法验证是否跟当前机器相符
      

  16.   

    你的用户是什么样的?是企业用户?先前不太明白你的部署配置情形你的网络程序在启动时可以找一个注册文件,如果不存在,就需要用户提交CDKEY,然后在目录里生成这个注册文件,同时把信息缓存在记忆里如果这个文件存在,你就用你的算法验证是否跟当前机器相符
    对啊,是企业用户,就是你讲的这个流程。