1

我们有一个 VB6 程序,可以加密一组字符在西方 Win OS 计算机上,加密的字符串被解密回来 ok。但在日本电脑上,它不起作用,并被解码为一堆????。输入和输出(解码)文本框都设置为带有日文脚本的 MS UI Gothic。下面给出部分代码。还给出了样本输入。

输入输出:

inputStr = 機帰帰
outputStr= 0Y365H
finalStr=  ???

部分代码:

Private Const IC_CONST_INST_KEY_ENCRYPT_STR = "41S81U4AYYPGZDNXKWMPGK0PMDS"
Private Sub cmdEncrypt_Click()
Dim inputStr As String
Dim outputStr As String
Dim finalStr As String
Dim sUnicodeValue, sAsciiValue

    inputStr = txtUInit.Text

    outputStr = EncryptString(inputStr, IC_CONST_INST_KEY_ENCRYPT_STR)
    txtUEncrypt.Text = outputStr

    finalStr = DecryptString(outputStr, IC_CONST_INST_KEY_ENCRYPT_STR)
    txtUDecrypt.Text = finalStr

End Sub
4

1 回答 1

1

VB6 无法正确处理 unicode 日文字符,您需要在运行加密程序之前将 unicode 转换为 ASCII。

于 2012-12-10T15:45:41.533 回答