Я нашел эту функцию для шифрования и дешифрования строк, и это пример кода из его документации. В этом примере они использовали шифрование и дешифрование в одном блоке кодов и создали переменную-посредник с именем bytOut
, которая используется как для дешифрования, так и для шифрования.
Я хочу создать две отдельные функции, но я не знаю, как повторно использовать bytOut
во второй функции, поскольку она генерируется в первой функции:
Это источник выборки:
<%
sPlain="test"
sPassword="key"
lLength = Len(sPlain)
ReDim bytIn(lLength-1)
For lCount = 1 To lLength
bytIn(lCount-1) = CByte(AscB(Mid(sPlain, lCount, 1)))
Next
lLength = Len(sPassword)
ReDim bytPassword(lLength-1)
For lCount = 1 To lLength
bytPassword(lCount-1) = CByte(AscB(Mid(sPassword, lCount, 1)))
Next
'Here the bytOut is generated:
bytOut = EncryptData(bytIn, bytPassword)
sTemp = ""
For lCount = 0 To UBound(bytOut)
sTemp = sTemp & Right("0" & Hex(bytOut(lCount)), 2)
Next
Response.Write "Encrypted=" & sTemp & "<BR>"
'Here the bytOut is used again
bytClear = DecryptData(bytOut, bytPassword)
lLength = UBound(bytClear) + 1
sTemp = ""
For lCount = 0 To lLength - 1
sTemp = sTemp & Chr(bytClear(lCount))
Next
Response.Write "Decrypted=" & sTemp
%>
Я написал эти две функции, но, очевидно, вторая не будет работать, поскольку bytOut
не инициализирован:
Функция MyEncrypt:
Function MyEncrypt(sPlain)
sPassword = "key"
lLength = Len(sPlain)
ReDim bytIn(lLength-1)
For lCount = 1 To lLength
bytIn(lCount-1) = CByte(AscB(Mid(sPlain, lCount, 1)))
Next
lLength = Len(sPassword)
ReDim bytPassword(lLength-1)
For lCount = 1 To lLength
bytPassword(lCount-1) = CByte(AscB(Mid(sPassword, lCount, 1)))
Next
bytOut = EncryptData(bytIn, bytPassword)
sTemp = ""
For lCount = 0 To UBound(bytOut)
sTemp = sTemp & Right("0" & Hex(bytOut(lCount)), 2)
Next
MyEncrypt = sTemp
End Function
MyDecrypt
функция:
Function MyDecrypt(sPlain)
sPassword = "key"
lLength = Len(sPassword)
ReDim bytPassword(lLength-1)
For lCount = 1 To lLength
bytPassword(lCount-1) = CByte(AscB(Mid(sPassword, lCount, 1)))
Next
'I don't know how to generate bytOut here?
bytClear = DecryptData(bytOut, bytPassword)
lLength = UBound(bytClear) + 1
sTemp = ""
For lCount = 0 To lLength - 1
sTemp = sTemp & Chr(bytClear(lCount))
Next
MyDecrypt = sTemp
End Function