使用MySQL AES_ENCRYPT/AES_DECRYPT还原图片路径时发生VB.Net错误
这是我的第一个问题,我希望以正确的格式发布 我使用MySQL AES_ENCRYPT/AES_DECRYPT从vb.Net存储并获取用户的图片和文件位置。所有的工作都很好,即使是特殊的西班牙语字符,除非我得到了路径 e、 g 保存的路径=C:\Users\User\Pictures和get=C:UsersUserPictures 我尝试了很多代码,也搜索了MySQL文档,但没有成功,仍然跳过了反斜杠 请给我一个方向来解决这个问题使用MySQL AES_ENCRYPT/AES_DECRYPT还原图片路径时发生VB.Net错误,mysql,vb.net,Mysql,Vb.net,这是我的第一个问题,我希望以正确的格式发布 我使用MySQL AES_ENCRYPT/AES_DECRYPT从vb.Net存储并获取用户的图片和文件位置。所有的工作都很好,即使是特殊的西班牙语字符,除非我得到了路径 e、 g 保存的路径=C:\Users\User\Pictures和get=C:UsersUserPictures 我尝试了很多代码,也搜索了MySQL文档,但没有成功,仍然跳过了反斜杠 请给我一个方向来解决这个问题 Dim MySQLQuery As String = "INSER
Dim MySQLQuery As String = "INSERT INTO `Agents` (`User_Name`, `User_Pic`)
VALUES (AES_ENCRYPT('" & txtUserName.Text & "', '" & MyPass & "'),
AES_ENCRYPT('" & txtUserPic.Text & "', '" & MyPass & "'"
MySQLQuery = "SELECT AES_DECRYPT(`User_Name`, '" & MyPass & "')
AS UName, AES_DECRYPT(`User_Pic`, '" & MyPass & "') AS UPic
FROM `Agents`"
MsgBox(MySQLReader.GetString("UName") & vbCrLf &
MySQLReader.GetString("UPic")
即使我尝试在MySQL上使用其他数据类型,如VARBINARY、VARCHAR、TINYTEXT(带或不带UTF8、LATIN1)和其他,但都一样,请跳过反斜杠。在
AES\u ENCRYPT
中,输入的数据被视为二进制字符串,并带有转义字符。因此,当您加密\
并再次解密它时,您会得到一个空字符串作为结果。要保留\
,您必须预解析字符串并将\
替换为\
。这将在解密中保留您的\
(但是解密的字符串将只显示一个\
)
例如:
SELECT AES_DECRYPT(AES_ENCRYPT("s\ad",'test'),'test');
返回:sad
(所以不是一个好的返回)
返回:s\ad
还是很难过
最后:100%与mysql相关,0%与vb相关。在
AES\u ENCRYPT
中,输入的数据被视为二进制字符串,并带有转义字符。因此,当您加密\
并再次解密它时,您会得到一个空字符串作为结果。要保留\
,您必须预解析字符串并将\
替换为\
。这将在解密中保留您的\
(但是解密的字符串将只显示一个\
)
例如:
SELECT AES_DECRYPT(AES_ENCRYPT("s\ad",'test'),'test');
返回:sad
(所以不是一个好的返回)
返回:s\ad
还是很难过
最后:100%与mysql相关,0%与vb相关。很抱歉延迟,尽管我知道这个网站。。谢谢你的帮助。很抱歉耽搁了,虽然我知道这个网站。。谢谢你的帮助。泰:)