日期:2014-05-18 浏览次数:20947 次
Function Encrypt(PlainStr, key)
Dim Char, KeyChar, NewStr
Dim Pos
Dim i , Side1 , Side2
Pos = 1
For i = 1 To Len(PlainStr)
Char = Mid(PlainStr, i, 1)
KeyChar = Mid(key, Pos, 1)
NewStr = NewStr & Chr(Asc(Char) Xor Asc(KeyChar))
If Pos = Len(key) Then Pos = 0
Pos = Pos + 1
Next
If Len(NewStr) Mod 2 = 0 Then
Side1 = StrReverse(Left(NewStr, (Len(NewStr) / 2)))
Side2 = StrReverse(Right(NewStr, (Len(NewStr) / 2)))
NewStr = Side1 & Side2
End If
Encrypt = NewStr
End Function
public string Encode(string PlainStr, string Key)
{
string tmp = "";//结果
char[] dChar = PlainStr.ToCharArray();
char[] KeyChar = Key.ToCharArray();
int Pos = 0;
for (int i = 0; i < PlainStr.Length; i++)
{
char r = (char)(((int)dChar[i]) ^ ((int)KeyChar[Pos]));
tmp += r.ToString();
Pos++;
if (Pos == Key.Length) { Pos = 0; }
}
if (tmp.Length % 2 == 0)
{
string Side1 = Reverse(Left(tmp, (tmp.Length / 2)));
string Side2 = Reverse(Right(tmp, (tmp.Length / 2)));
tmp = Side1 + Side2;
}
return tmp;
}