For Programmers: Free Programming Magazines  


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?
Mike

2005-08-24, 6:55 pm

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.


Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com