Foxtable(狐表)用户栏目专家坐堂 → [求助]加密,解密。写到哪里?


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

主题:[求助]加密,解密。写到哪里?

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


加好友 发短信
等级:四尾狐 帖子:843 积分:5982 威望:0 精华:0 注册:2013/6/29 9:36:00
[求助]加密,解密。写到哪里?  发帖心情 Post By:2016/12/21 21:08:00 [显示全部帖子]

Dim r As  Row = Tables("密码管理").Current
If e.Sender.Value IsNot Nothing Then
    Dim val1 As String = EncryptText(e.Sender.Value,"y","c") '加密
    e.Sender.Value = val1
    r("转帐密码") =val1
End If

我现在把加密写在:窗口txtbox,Validating事件里面在。(绑定了:密码,列)
但是,我操作时,比较已经加密 了。我鼠标点进去这个已加密的TXT,留下,它又进行了加密 。再解密,就不对了。

我感觉写的位置不对。

解决,我是一个按钮里面写解密代码,到没发现什么问题。

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


加好友 发短信
等级:四尾狐 帖子:843 积分:5982 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2016/12/22 9:11:00 [显示全部帖子]

Dim r As  Row = Tables("密码管理").Current
If e.Sender.Value IsNot Nothing Then
    Dim val1 As String = EncryptText(e.Sender.Value,"y","c") '加密
    r("转帐密码") =val1
End If

Leave的时候 ,设置上代码。

Dim mm As WinForm.TextBox = e.Form.Controls("TextBox1")

If mm.Value = "" Then
    Dim cxmm As WinForm.TextBox = Forms("密码管理").Controls("查询密码")
    Dim dlmm As WinForm.TextBox = Forms("密码管理").Controls("登录密码")
    Dim zzmm As WinForm.TextBox = Forms("密码管理").Controls("转帐密码")
    Dim r As Row = Tables("密码管理").Current
    If r.IsNull("转帐密码") = False Then
        Dim val1 As String =DecryptText(r("转帐密码"),"y","c") 
        r("转帐密码")= val1
    End If
    e.Form.Close
Else
    If  MessageBox.show("密码管理登录密码错误,请重新输入!","提示!",MessageBoxButtons.OKCancel) =DialogResult.Cancel Then
        e.Form.Close
    Else
        Return
    End If
End If
我要看密码,是设置了一个查询按钮,弹出输入密码管理登录窗口。上面的代码就是这个窗口的,确定按钮。

怎么都 不对。一般怎么写呢?

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


加好友 发短信
等级:四尾狐 帖子:843 积分:5982 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2016/12/22 9:21:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.zip


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


加好友 发短信
等级:四尾狐 帖子:843 积分:5982 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2016/12/22 9:58:00 [显示全部帖子]

 这样也不太好。如果 用户没点重新加密,就会不加密 。如果 多点几次重新加密码。密码就加了好次密。

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


加好友 发短信
等级:四尾狐 帖子:843 积分:5982 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2016/12/22 13:14:00 [显示全部帖子]

加密后的判断, 
是不是加密后,都 是:=接尾?    字符长度都超过:多少个字符 ?
有没有加密 后的属性?可以判断,字符 是否已加密?

[此贴子已经被作者于2016/12/22 13:14:23编辑过]

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


加好友 发短信
等级:四尾狐 帖子:843 积分:5982 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2016/12/23 10:12:00 [显示全部帖子]

If  r(str(i)).EndsWith("=") AndAlso  r(str(i)).length Mod 4 = 0 AndAlso r(str(i)).length >= 15  Then(我感觉,这样判断,好容易 出错。)有没有更好的办法。

 r(str(i)).EndsWith("=") 这个不行,我输入一个不是:数字的密码。它加密后的接尾不是:=号
[此贴子已经被作者于2016/12/23 10:13:19编辑过]

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


加好友 发短信
等级:四尾狐 帖子:843 积分:5982 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2016/12/23 12:03:00 [显示全部帖子]

 这个是解密 

Dim zzmm As WinForm.TextBox = Forms("密码管理").Controls(str(i))
        If  r.IsNull(str(i)) = False Then
            If  r(str(i)).EndsWith("$c") AndAlso r(str(i)).startswith("y$")  Then
                Dim strs As String =r(str(i)).Trimstart("y","$").TrimEnd("$","c") 
msgbox(strs)
                Dim val1 As String =DecryptText(strs,"1","2")

                zzmm.Value = val1
            End If
        End If
这个是加密 :

Dim r As  Row = Tables("密码管理").Current
If e.Sender.Value IsNot Nothing Then
    If  r("查询密码").startsWith("y$") AndAlso r("查询密码").EndsWith("$c") Then
        Return
    Else
        Dim val1 As String = EncryptText(e.Sender.Value,"1","2") '加密
        r("查询密码") ="y$" & val1 & "$c"
    End If
End If
现在有个问题是:

     Dim strs As String =r(str(i)).Trimstart("y","$").TrimEnd("$","c")   
这个代码写得不对。。如果 加密后是:y$y********c$c
Trim时会切成:********,而应该切成:y********c才对。才能解密出来。

 回到顶部