Home > Archive > ASP > August 2005 > String Gets Truncated: VBScript End of String Character?
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
String Gets Truncated: VBScript End of String Character?
|
|
|
| Help, I am using an encryption routine that occasionally will encrypt a
string using some extended ASCII characters (ASCII code > 128)
I am wondering if there is a reserved character in VB that signifies
the end of a string of characters.
Here is what happens: I am encrypting certain fields before adding
them to a SQL string. On occassion, the SQL string will simply end in
the middle of the encrypted value.
Example code
sSQL = "EXEC SaveDetails " & _
" @iDetailID = " & iDetailID & ", " & _
" @sEncryptedText = '" & _
replace(EncryptText(sText),"'","''") & "', " & _
" @iOtherValue = 6"
Normally Response.Write would print something like this:
using Response.Write(Server.HTMLEncode(sSQL)):
EXEC SaveDetails @iDetailID = 3, @sEncryptedText = 'aw@##@QASV@#AV (!',
@iOtherValue = 6
Occasionally on certain inputs for sEncryptedText it will print:
EXEC SaveDetails @iDetailID = 3, @sEncryptedText = '@#DFVIDXZI
Is my encryption algorithm possible generating a reserved character
that signifies the end of a string? Does such a character exist in
VBscript? Any help would be appreciated.
FYI, I'd rather not post my encryption routine. Please let me know if
you feel it would be necessary.
| |
| Bob Barrows [MVP] 2005-08-25, 6:55 pm |
| Mike wrote:
> Help, I am using an encryption routine that occasionally will encrypt
> a string using some extended ASCII characters (ASCII code > 128)
>
> I am wondering if there is a reserved character in VB that signifies
> the end of a string of characters.
>
> Here is what happens: I am encrypting certain fields before adding
> them to a SQL string. On occassion, the SQL string will simply end in
> the middle of the encrypted value.
>
> Example code
>
> sSQL = "EXEC SaveDetails " & _
> " @iDetailID = " & iDetailID & ", " & _
> " @sEncryptedText = '" & _
> replace(EncryptText(sText),"'","''") & "', " & _
> " @iOtherValue = 6"
>
> Normally Response.Write would print something like this:
>
> using Response.Write(Server.HTMLEncode(sSQL)):
>
> EXEC SaveDetails @iDetailID = 3, @sEncryptedText = 'aw@##@QASV@#AV
> (!', @iOtherValue = 6
>
> Occasionally on certain inputs for sEncryptedText it will print:
>
> EXEC SaveDetails @iDetailID = 3, @sEncryptedText = '@#DFVIDXZI
>
> Is my encryption algorithm possible generating a reserved character
> that signifies the end of a string? Does such a character exist in
> VBscript? Any help would be appreciated.
>
> FYI, I'd rather not post my encryption routine. Please let me know if
> you feel it would be necessary.
Try using parameters (in this example "conn" is a previously opened
connection object):
conn.SaveDetails iDetailID, EncryptText(sText), 6
The bonus (if this solves your problem) is that using parameters saves you
the extra step of escaping your embedded apostrophes - less processing
needed.
Bob Barrows
--
Microsoft MVP -- ASP/ASP.NET
Please reply to the newsgroup. The email account listed in my From
header is my spam trap, so I don't check it very often. You will get a
quicker response by posting to the newsgroup.
|
|
|
|
|