以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 软件加密 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=173072) |
-- 作者:outcat -- 发布时间: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 我希望解密的时候把机器码 和日期 分别解密出来 注册成功后,让客户能够看到软件使用的截止日期,可现在这会不会弄了,只能做到解密把完整的注册码解密出来,请老师帮忙
|
-- 作者:有点蓝 -- 发布时间:2021/11/14 20:38:00 -- 用一个符号把2个值分开,比如下划线 Calcode.text = EncryptText(cmpcode.text & “_” & d,"yhkj","yhkj") 解密后根据下划线拆分即可
|
-- 作者:outcat -- 发布时间: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 这个怎么解密不出来呢 |
-- 作者:有点蓝 -- 发布时间:2021/11/16 21:58:00 -- 贴出完整代码 |
-- 作者:outcat -- 发布时间: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 |
-- 作者:有点蓝 -- 发布时间: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 -- 发布时间:2021/11/17 14:53:00 -- 老师,这个执行了,先弹出 一个 true,后面就是 提示 索引超出了数组界限 |
-- 作者:有点蓝 -- 发布时间:2021/11/17 15:08:00 -- 哦,代码保存的是true字符串呀,并不是保存的注册码 SaveConfigValue("注册状态" & ComputerId,"这里改为需要保存的注册码") 另外代码逻辑也有问题呀,自己和加密后的自己进行比较,下面代码是永远都不会成立的 If Cmpcode.text = EncryptText(cmpcode.text & "_" & d,"yhkj","yhkj")
|