我有一个从文件中读出的加密字符串。我的问题是它没有像文件中显示的那样进入变量,因此产生的解密是错误的。
以下是文件中的字符串:û«hoágè~Àê´•§™Ý
此代码有效:
Dim oldpass As String = "û«hoágè~Àê´•§™Ý"
MsgBox(mylib.security.LegacyCode.decryptPassword(oldpass))
但是当试图通过文件:
Dim FILE_NAME As String = "C:\mydir\smart\myfile.DAT"
Dim objReader As New System.IO.StreamReader(FILE_NAME)
Dim encryptedPw As String = objReader.ReadToEnd
objReader.Close()
MsgBox(mylib.security.LegacyCode.decryptPassword(encryptedPw))
这引起了问题。在encryptedPw
中调试字符串时看起来不正确:
如何让字符串正确读入变量?
答案 0 :(得分:3)
您是否尝试过为StreamReader提供文本编码?
https://msdn.microsoft.com/de-de/library/system.io.streamreader(v=vs.110).aspx
作为第二个参数
StreamReader(YourStream, System.Text.Encoding.Default)
或System.Text.Encoding.UTF8或System.Text.Encoding.ASCII?