从文本字段中转义无效字符

时间:2014-12-17 09:54:02

标签: vb.net visual-studio

我有一个登录表单,用于在VB中处理一些数据库查询。但是,如果在另一台PC上使用包含“@”等符号的用户名进行测试,则会在没有错误的情况下进行测试。

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Login.Click
    Dim passStr As String = Password.Text
    Dim userStr As String = Username.Text
    ...

我认为这是由于无效字符破坏了查询,但我不确定如何接受登录详细信息,将其全部转出。

我找到了一种从字符串中删除它们的方法,但是当我需要登录详细信息有效时,这不是很有帮助!

1 个答案:

答案 0 :(得分:0)

最好以加密格式保存密码。我将建议您使用加密机制以加密格式存储密码。以下是功能:

Imports System.Text.UnicodeEncoding
Dim uni As New UnicodeEncoding()
Public Function encodeUTF(ByVal inputString As String) As String '<-- function for encoding the input string
    Dim byt() As Byte = uni.GetBytes(inputString)
    encodeUTF = ""
    For Each b As Byte In byt
        encodeUTF &= b & ","
    Next
    Trim(Replace(encodeUTF, ",", ""))
End Function

因此您的编码变为:

Dim passStr As String = encodeUTF(Password.Text)
Dim userStr As String = encodeUTF(Username.Text)