Foxtable(狐表)用户栏目专家坐堂 → [求助]base-64字符串无效字符?


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

主题:[求助]base-64字符串无效字符?

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


加好友 发短信
等级:四尾狐 帖子:941 积分:7786 威望:0 精华:0 注册:2013/7/7 13:37:00
[求助]base-64字符串无效字符?  发帖心情 Post By:2013/12/24 19:31:00 [只看该作者]

base-64字符串无效字符!

此主题相关图片如下:360软件小助手截图20131224192714.jpg
按此在新窗口浏览图片
 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:启动项目.zip

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



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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/12/24 19:59:00 [只看该作者]

 呃图片点击可在新窗口打开查看看不懂你想写的东西。这个提示是解密出错了。foxtable的解密函数,值必须值加密后的数据ip,如果ip的值非加密的数据,就可能出现各种错。

Dim Val As String = DecryptText(ip,"zhang","博讯科技#") '解密,两个密钥必须和加密的时候相同

[此贴子已经被作者于2013-12-24 19:59:17编辑过]

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


加好友 发短信
等级:四尾狐 帖子:941 积分:7786 威望:0 精华:0 注册:2013/7/7 13:37:00
  发帖心情 Post By: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编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/12/24 20:15:00 [只看该作者]

 对于出错,你直接用 try catch就行了


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


加好友 发短信
等级:四尾狐 帖子:941 积分:7786 威望:0 精华:0 注册:2013/7/7 13:37:00
  发帖心情 Post By:2013/12/24 20:18:00 [只看该作者]

OK,谢谢 有点甜 老师

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2013/12/24 21:25:00 [只看该作者]

split("※").(?).Length

 

split分割字符串后直接调用需要参数的,否则程序哪里知道调用第几段?而不是单单用try catch来跳过错误提示,某些错误需要从根儿上解决的!


 回到顶部