Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用MySQL AES_ENCRYPT/AES_DECRYPT还原图片路径时发生VB.Net错误_Mysql_Vb.net - Fatal编程技术网

使用MySQL AES_ENCRYPT/AES_DECRYPT还原图片路径时发生VB.Net错误

使用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

这是我的第一个问题,我希望以正确的格式发布

我使用MySQL AES_ENCRYPT/AES_DECRYPT从vb.Net存储并获取用户的图片和文件位置。所有的工作都很好,即使是特殊的西班牙语字符,除非我得到了路径

e、 g

保存的路径=C:\Users\User\Pictures和get=C:UsersUserPictures

我尝试了很多代码,也搜索了MySQL文档,但没有成功,仍然跳过了反斜杠

请给我一个方向来解决这个问题

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相关。

很抱歉延迟,尽管我知道这个网站。。谢谢你的帮助。很抱歉耽搁了,虽然我知道这个网站。。谢谢你的帮助。泰:)