以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  加密解密不成功  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=174102)

--  作者:lgj716330
--  发布时间:2021/12/31 15:48:00
--  加密解密不成功
自定义用户登录中
cmd.CommandText = "Select * From {Users} Where [Name] = \'" & UserName & "\'"
dt = cmd.ExecuteReader
If dt.DataRows.Count = 0 Then
    Messagebox.show("此用户不存在!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Return
End If
dr = dt.DataRows(0)
Dim pw As String = e.Form.Controls("PassWord").Value
Dim pw2 As String = DecryptText(dr("Password"),"a23","op#")
If pw = pw2 Then

msgbox(dr("Password"))显示为R2kBuWk4uk0=
msgbox(pw2)显示是空的
这是什么原因呢

--  作者:有点蓝
--  发布时间:2021/12/31 16:07:00
--  
这样呢?
dim s as string = dr("Password")
msgbox(s = "R2kBuWk4uk0=")
Dim pw2 As String = DecryptText(s,"a23","op#")
msgbox(pw2)

--  作者:lgj716330
--  发布时间:2021/12/31 16:13:00
--  
msgbox(s = "R2kBuWk4uk0=") 
显示为False

--  作者:有点蓝
--  发布时间:2021/12/31 16:20:00
--  
说明单元格的数据不是"R2kBuWk4uk0="。可能有空格回车等看不见的字符
--  作者:lgj716330
--  发布时间:2021/12/31 16:22:00
--  
Dim Val1 As String = e.Form.Controls("PassWord").Value
Dim PassWord As String = EncryptText(Val1,"a23","op#") \'加密
还真是的,从数据库表里复制到EXCEL,发现后面一大串空格。但这空格又不知是怎么产生的
[此贴子已经被作者于2021/12/31 16:22:57编辑过]

--  作者:有点蓝
--  发布时间:2021/12/31 16:24:00
--  
如果是SqlServer,字符列使用nvarchar,不要使用char类型
--  作者:lgj716330
--  发布时间:2021/12/31 16:48:00
--  
嗯,类型改为nvarchar后可以了,谢谢