28,391
社区成员
发帖
与我相关
我的任务
分享
key = generateKey(128)
s = "anc中文"
Response.Write decryptSymmetric(encryptSymmetric(s,key),key)
Public Function generateKey(iKeyLength)
Dim k,lowerbound,upperbound,i
Dim sKey
lowerbound = 35
upperbound = 96
Randomize
For i=1 To iKeyLength
k = Int(((upperbound-lowerbound)+1)*Rnd+lowerbound)
sKey = sKey & Chr(k)
Next
generateKey = sKey
End Function
Public Function encryptSymmetric(sCryptThis, sSymmericKey)
Dim sEncrypted
Dim iKeyChar,iStringChar,iCryptChar,i
For i=1 To Len(sCryptThis)
iKeyChar = Asc(mid(sSymmericKey,i,1))
iStringChar = Asc(mid(sCryptThis,i,1))
iCryptChar = iStringChar + iKeyChar
iCryptChar = iKeyChar Xor iStringChar
sEncrypted = sEncrypted & Chr(iCryptChar)
Next
encryptSymmetric = sEncrypted
End Function
Public Function decryptSymmetric(sEncrypted, sSymmericKey)
Dim sDecrypted
Dim iKeyChar,iStringChar,iDeCryptChar,i
For i = 1 To Len(sEncrypted)
iKeyChar = Asc(mid(sSymmericKey,i,1))
iStringChar = Asc(mid(sEncrypted,i,1))
iDeCryptChar = iStringChar - iKeyChar
iDeCryptChar = iKeyChar Xor iStringChar
sDecrypted = sDecrypted & Chr(iDeCryptChar)
Next
decryptSymmetric = sDecrypted
End Function