以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]base-64字符串无效字符? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=44177) |
-- 作者:jnletao -- 发布时间:2013/12/24 19:31:00 -- [求助]base-64字符串无效字符? base-64字符串无效字符! BeforeOpenProject Dim ipFile As String = FileSys.GetParentPath(e.File) & "\\dbpath.ini" If FileSys.FileExists(ipFile) = False Then Dim FileName As String = FileSys.GetParentPath(e.File) & "\\dbpath.ini" Dim Info As String If InputValue(Info, "设置","请在此处粘贴安装信息:") Then \'这时要对info解密分析信息是否正确 Dim Val As String = DecryptText(Info,"zhang","博讯科技#") \'解密,两个密钥必须和加密的时候相同 If Val IsNot Nothing AndAlso Val.split("※").Length = 2 Then FileSys.WriteAllText(FileName, Info, False,Encoding.UTF8) Else e.Cancel = True e.HideSplashForm = True MessageBox.show("密钥不对,设置初始信息失败,无法打开此项目.") End If Else e.Cancel = True e.HideSplashForm = True MessageBox.show("您取消了安装信息设置,请在下次启动时设置.") End If Else If Filesys.FileExists(ipFile) Then Dim ip As String = FileSys.ReadAllText(ipFile,Encoding.UTF8) \'这时要对info解密分析信息是否正确 Dim Val As String = DecryptText(ip,"zhang","博讯科技#") \'解密,两个密钥必须和加密的时候相同 Dim Values() As String = Val.split("※") If Val IsNot Nothing AndAlso Values.Length = 2 Then \'网络不通,就不打开项目: If Network.Ping(Values(0)) = False Then e.Cancel = True e.HideSplashForm = True MessageBox.Show("无法连接服务器,软件启动失败!请稍候重试!") End If Else e.Cancel = True e.HideSplashForm = True MessageBox.show("密钥发生了变化,设置初始信息失败,无法打开此项目.") End If \'e.ConnectionString = e.ConnectionString.Replace("119.119.120.120",ip)将来在这里先pingIP是否通 End If End If |
-- 作者:有点甜 -- 发布时间:2013/12/24 19:59:00 -- 呃看不懂你想写的东西。这个提示是解密出错了。foxtable的解密函数,值必须值加密后的数据ip,如果ip的值非加密的数据,就可能出现各种错。 Dim Val As String = DecryptText(ip,"zhang","博讯科技#") \'解密,两个密钥必须和加密的时候相同 [此贴子已经被作者于2013-12-24 19:59:17编辑过]
|
-- 作者:jnletao -- 发布时间:2013/12/24 20:08:00 -- Dim Val As String = DecryptText(ip,"zhang","博讯科技#") \'解密,两个密钥必须和加密的时候相同 这个我知道,我的意思是如果
dbpath.ini 被别人改动过,
DecryptText 应该是解析出来是nothing,可是现在是报错 刚才我百度了一下,应该是dbpath.ini里的文本被改动的不符合base-64的识别要求了。 请问有点甜老师,有没有办法提前检查一下文本是不是符合base-64的识别要求!? 或者说怎样让foxtable弹出另一种报错方法 如用message,而不是以上图片中的报错样式?
[此贴子已经被作者于2013-12-24 20:09:32编辑过]
|
-- 作者:有点甜 -- 发布时间:2013/12/24 20:15:00 -- 对于出错,你直接用 try catch就行了 |
-- 作者:jnletao -- 发布时间:2013/12/24 20:18:00 -- OK,谢谢 有点甜 老师 |
-- 作者:程兴刚 -- 发布时间:2013/12/24 21:25:00 -- split("※").(?).Length
split分割字符串后直接调用需要参数的,否则程序哪里知道调用第几段?而不是单单用try catch来跳过错误提示,某些错误需要从根儿上解决的! |