2 u011954277 u011954277 于 2017.09.04 14:32 提问

c# 注册码 机器码 多台电脑登录的问题 求思路

客户端程序 可以生成机器码 然后注册码我这变提供 注册码也是通过机器码加密算出来的
但现在要实现 注册码可以在多台(我自己决定)电脑上实现登录
(注册码只能有一个)

4个回答

caozhy
caozhy   Ds   Rxr 2017.09.04 14:35
已采纳

windows的激活原理,你可以参考:
每个用户一个唯一的序列号,序列号你分发给用户
用户得到机器码,并且把机器码和序列号传给你
你的服务器判断这个序列号激活了多少次,如果少于制定次数,你就算出激活码给用户
用户输入激活码,完整验证。

u011954277
u011954277 我知道该怎么做了 谢谢大神
3 个月之前 回复
caozhy
caozhy 回复小菜来袭: 反过来说如果2个授权卖2倍的价格,3个授权卖3倍的价格,第一个用户也没有动机故意多买一套再卖给第二个用户。
3 个月之前 回复
caozhy
caozhy 回复小菜来袭: 我说了,如果第二个用户从第一个用户那里购买的价格和直接从你这里买一样或者差不多,他没有动机这么做。
3 个月之前 回复
u011954277
u011954277 嗯 我是不想用户进行二次售卖 好了 可能是我自己的心态问题吧
3 个月之前 回复
caozhy
caozhy 回复小菜来袭: 最后,我觉得这种限制毫无意义。你卖软件管谁掏钱呢。好比我去麦当劳买,我愿意多买一杯分给美女,麦当劳会说,这个你买了不是自己喝,就不卖给我么?
3 个月之前 回复
u011954277
u011954277 如果这样只能考虑这样了
3 个月之前 回复
caozhy
caozhy 回复小菜来袭: 第一,你的程序离线运行不可能得知是不是有更多的副本在运行。其次,就算你联网,你也只能判断有几个电脑用同一个序列号,但是你没办法判断这几个电脑是1个组织在用还是2个。
3 个月之前 回复
u011954277
u011954277 目前只要买了软件 就自动送三个授权 您的意思要提高软件的价钱?
3 个月之前 回复
caozhy
caozhy 如果a花3倍的钱买了3个授权,分给b 1个用,自己用两个。b没有给你付钱。这和a花2倍的钱买了两个,b买了一个,对你有什么区别呢。
3 个月之前 回复
u011954277
u011954277 唉 熊和鱼掌不能兼得
3 个月之前 回复
u011954277
u011954277 或者可以这样 A的序列号和B共用了 但是如果B在软件里面做了操作 可以使A的的授权失效 类似于我登录你的QQ 把你的密码改了是一样的
3 个月之前 回复
caozhy
caozhy 回复小菜来袭: 去现场安装,每个电脑拍个照。要技术支持的时候,上门或者视频下,看看他当初登记的电脑都在不在。
3 个月之前 回复
caozhy
caozhy 回复小菜来袭: 避免不了,除非你上门安装吧。这不是技术问题了。
3 个月之前 回复
u011954277
u011954277 对 这样虽然对用户便利了 (上班在公司可以用 下班回家还可以用) 但不是所有的用户都是这样的 我想尽可能的避免这种问题
3 个月之前 回复
caozhy
caozhy a的确可以凑单和b合买,如果b搬着他的电脑到a的办公室,并且硬要说这台电脑就是a的,你能不给他用么?但是如果你的定价合理,比如3个授权的价格比2个贵49%,我觉得a没有动机多买一个授权再给另一个用。
3 个月之前 回复
caozhy
caozhy 回复小菜来袭: 这就好比我去麦当劳,麦当劳第二杯半价,我和排前面的美女商量下,我们一起买2杯,我付给他75%的钱。我觉得这是可以的。
3 个月之前 回复
caozhy
caozhy 回复小菜来袭: 我明白你的意思了,你的意思是,a买了3个计算机的授权,但是他用两个,分给另一个人1个。这种情况的确没有办法。因为我们不能简单判断一个计算机是a的还是b的
3 个月之前 回复
u011954277
u011954277 b 运行的我的软件得出机器码
3 个月之前 回复
caozhy
caozhy 回复小菜来袭: 每个机器的机器码不同,a的激活码是根据他的序列号和机器码算出来的,b拿着没用
3 个月之前 回复
u011954277
u011954277 比如说A买了 我发他序列号(可以注册3台机器的) 他给我机器码 我再给他激活码 第二天B也想用 但是他不想买 他把自己的机器码发给A A对我谎称说这是他的另一台电脑 我给你他注册了 现在B也可以用了
3 个月之前 回复
caozhy
caozhy 回复小菜来袭: 哪里不明白
3 个月之前 回复
u011954277
u011954277 不是很明白,
3 个月之前 回复
caozhy
caozhy 回复小菜来袭: 不可以啊,因为他只有序列号没有激活码,激活码要你来算。你在算的时候根据这个序列号已经关联了多少机器码决定是否给他算
3 个月之前 回复
u011954277
u011954277 仔细想 好像没有防御到这种操作 已经购买的依旧可以给没有购买的人安装使用 我想了下有一下2点解决办法:一是类似于修改密码 密码改了 而是绑定QQ帐号密码什么的
3 个月之前 回复
caozhy
caozhy 回复小菜来袭: 你先给他注册码,他安装后给你机器码,你再给他激活码。设计一种算法,机器码和注册码生成激活码,和他输入的比对。
3 个月之前 回复
u011954277
u011954277 有购买的用户提供机器码给他 他在给把机器码发给我注册 遇到这种BUG怎么破
3 个月之前 回复
caozhy
caozhy 回复小菜来袭: 不需要服务器啊,你可以离线计算,你自己维护一个数据库,人工判断是否超过限制
3 个月之前 回复
u011954277
u011954277 最多获取网络时间
3 个月之前 回复
u011954277
u011954277 这个都是单机的 没有服务器和数据库
3 个月之前 回复
u011954277
u011954277 有没有这种情况 ,没有购买的用户提供机器码给他 他在给把机器码发给我注册
3 个月之前 回复
caozhy
caozhy   Ds   Rxr 2017.09.04 14:36

如果用户在更多的计算机上安装,他发给你序列号和机器码,你判断激活超过次数,就拒绝提供激活码,用户就不能在这计算机上用啦。

guolidong_1211
guolidong_1211   2017.09.04 14:51

加入类似证书管理机制,判断证书的有效时间

u011954277
u011954277 不是很懂 可以注册几年的 判断有效时间 没有效果
3 个月之前 回复
csdn4652
csdn4652   2017.09.04 15:29

换个思路想,你不能要到电脑的机器码?

Csdn user default icon
上传中...
上传图片
插入图片