Private Const HARD_KEY = &H37
Private Function Encrypt(sValue, sKey)
Dim intLen
Dim sTempValue
Dim sTempKey
Dim sRValue
Dim sChar
sChar = 0
sTempValue = sValue
sTempKey = Trim(sKey)
sRValue = ""
Dim intX, intY
For intX = 1 To Len(sTempValue)
sChar = CInt(Asc(Mid(sTempValue, intX, 1)))
For intY = 1 To Len(sTempKey)
sChar = sChar Xor CInt(Asc(Mid(sTempKey, intY, 1))) Xor HARD_KEY
Next
sRValue = sRValue & Trim(Chr(sChar))
Next
Encrypt = sRValue
End Function
有没有懂C#的高手帮忙把上面的ASP代码转成c# asp.net的代码 下面是我转的 觉得不对,有没有高手能帮忙找错的
int HARD_KEY = Convert.ToInt32("37", 16);
private string Encrypt(string sValue, string sKey)
{
string sTempValue = sValue;
string sTempKey = sKey.Trim();
string sRValue = "";
int sChar = 0;
for(int x = 1;x < sTempValue.Length;x++ )
{
sChar = Microsoft.VisualBasic.Strings.Asc(sTempValue.Substring(x, 1));
for(int y = 1;y <sTempKey.Length;y ++)
{
int asc = Microsoft.VisualBasic.Strings.Asc(sTempValue.Substring(y, 1));
sChar = asc | HARD_KEY;
}
sRValue = sRValue + Microsoft.VisualBasic.Strings.Chr(sChar).ToString();
}
listBox3.Items.Add(sRValue);
return sRValue;
}
------解决方案--------------------------------------------------------
try->
- C# code
int HARD_KEY = Convert.ToInt32("37", 16); private string Encrypt(string sValue, string sKey) { string sTempValue = sValue; string sTempKey = sKey.Trim(); string sRValue = ""; int sChar = 0; for (int x = 1; x < sTempValue.Length; x++) { sChar = Convert.ToInt32(sTempValue.Substring(x, 1)); for (int y = 1; y < sTempKey.Length; y++) { int asc = Convert.ToInt32(sTempValue.Substring(y, 1)); sChar = asc | HARD_KEY; } sRValue = sRValue + Convert.ToChar(sChar).ToString(); } listBox3.Items.Add(sRValue); return sRValue; }
------解决方案--------------------------------------------------------
循环x,y从0开始不行吗?
------解决方案--------------------------------------------------------
初步估计是这样子的,另外HARD_KEY的数据类型是啥
- C# code
private string Encrypt(string sValue, string sKey) { //Dim intLen string sRValue = string.Empty; char sChar; //sChar = 0 string sTempValue = sValue; string sTempKey = sKey.Trim(); foreach (char x in sTempValue) { sChar = x; foreach (char y in sTempKey) { int asc = Convert.ToInt32(y); sChar = (char)asc | HARD_KEY; } sRValue = sRValue + sChar.ToString(); } listBox3.Items.Add(sRValue); return sRValue; }