Foxtable(狐表)用户栏目专家坐堂 → 软件加密


  共有3660人关注过本帖树形打印复制链接

主题:软件加密

帅哥哟,离线,有人找我吗?
outcat
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:470 积分:3641 威望:0 精华:0 注册:2017/11/5 14:47:00
软件加密  发帖心情 Post By:2021/11/13 20:12:00 [只看该作者]

软件注册机
生成的机器注册码
Dim d As Date = e.Form.Controls("EndDate").value
Dim CmpCode As WinForm.TextBox = e.Form.Controls("机器码")
Dim CalCode As WinForm.TextBox = e.Form.Controls("生成注册码")
Calcode.text = EncryptText(cmpcode.text & d,"yhkj","yhkj")

我这个是机器码+ 软件使用到期日期 加的密

在客户注册界面,客户注册成功代码
Dim CmpCode As WinForm.TextBox = e.Form.Controls("机器码")
Dim RegCode As WinForm.TextBox = e.Form.Controls("注册码")
'
'If cmpcode.text <> DecryptText(regcode.text,"yhkj","yhkj")  '若注册码不正确
    'msgbox("无效的注册码")
'Else
    'msgbox("感谢你的注册!")
    'SaveConfigValue("注册状态" & ComputerId,True)  '若注册成功则保存设置,并关闭窗体
    'e.Form.Close
'End If
  'Dim d As Date

Dim reg As WinForm.Label = e.Form.Controls("Label3")
Dim d As String = DecryptText(regcode.text,"yhkj","yhkj")  
reg.text = "你的软件使用截止日期为 " & d

我希望解密的时候把机器码 和日期  分别解密出来

注册成功后,让客户能够看到软件使用的截止日期,可现在这会不会弄了,只能做到解密把完整的注册码解密出来,请老师帮忙

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110467 积分:562207 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/11/14 20:38:00 [只看该作者]

用一个符号把2个值分开,比如下划线

Calcode.text = EncryptText(cmpcode.text & “_” & d,"yhkj","yhkj")

解密后根据下划线拆分即可

 回到顶部
帅哥哟,离线,有人找我吗?
outcat
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:470 积分:3641 威望:0 精华:0 注册:2017/11/5 14:47:00
  发帖心情 Post By:2021/11/16 21:37:00 [只看该作者]

Calcode.text = EncryptText(cmpcode.text & “_” & d,"yhkj","yhkj")
老师这个机器码可以判断正确,解密的时候我想要把 这个 日期变量  d 解密出来

   实现  msgbox("感谢您的注册! 软件使用截止日期为 " & d )
我定义 Dim d As sring  值 为空

Dim d As Date  值为  00:00:00   这个怎么解密不出来呢


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110467 积分:562207 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/11/16 21:58:00 [只看该作者]

贴出完整代码

 回到顶部
帅哥哟,离线,有人找我吗?
outcat
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:470 积分:3641 威望:0 精华:0 注册:2017/11/5 14:47:00
  发帖心情 Post By:2021/11/17 9:37:00 [只看该作者]

完整代码
Dim CmpCode As WinForm.TextBox = e.Form.Controls("机器码")



Dim d As String


If Cmpcode.text = EncryptText(cmpcode.text & "_" & d,"yhkj","yhkj") '若注册码不正确
    msgbox("无效的注册码")
Else
    msgbox("感谢您的注册! 软件使用截止日期为 " & d)
    SaveConfigValue("注册状态" & ComputerId,True)  '若注册成功则保存设置,并关闭窗体
    e.Form.Close
End If

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110467 积分:562207 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/11/17 9:41:00 [只看该作者]

这个代码只是保存了注册信息,解析这个注册信息的代码呢?

Dim n As string = ""
n = GetConfigValue(
"注册状态" & ComputerId,"")
if n > "" then
dim ar() as string = n.split("_") 
msgbox(ar(0))
msgbox(ar(1))
end if

 回到顶部
帅哥哟,离线,有人找我吗?
outcat
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:470 积分:3641 威望:0 精华:0 注册:2017/11/5 14:47:00
  发帖心情 Post By:2021/11/17 14:53:00 [只看该作者]

老师,这个执行了,先弹出 一个 true,后面就是  提示  索引超出了数组界限

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110467 积分:562207 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/11/17 15:08:00 [只看该作者]

哦,代码保存的是true字符串呀,并不是保存的注册码

SaveConfigValue("注册状态" & ComputerId,"这里改为需要保存的注册码")

另外代码逻辑也有问题呀,自己和加密后的自己进行比较,下面代码是永远都不会成立的
If Cmpcode.text = EncryptText(cmpcode.text & "_" & d,"yhkj","yhkj")

 回到顶部