function EncryptForward:
private string EncryptForward(string input)
{
byte[] b = Encoding.ASCII.GetBytes(input);
b[0] += 2;
return Encoding.ASCII.GetString(b);
}function EncryptBackword is the same as above
private string EncryptForward(string input)
{
byte[] b = Encoding.ASCII.GetBytes(input);
b[0] += 2;
return Encoding.ASCII.GetString(b);
}function EncryptBackword is the same as above
{
// 121 ='y' , 122='z' 90='Z' 89='y'
byte[] b = Encoding.ASCII.GetBytes(input);
if (int.Parse(bytes[0].ToString()) == 121 ||
int.Parse(bytes[0].ToString()) == 122 ||
int.Parse(bytes[0].ToString()) == 90 ||
int.Parse(bytes[0].ToString()) = 89)
{ int.Parse(bytes[0].ToString()) - 26 + 2; }
else
{int.Parse(bytes[0].ToString()) + 2;}
return Encoding.ASCII.GetString(b);
}供参考,这种方式只使用与26个字母间的变换.
{
StringBuilder bs = new StringBuilder();
foreach( char ch in input.ToCharArray() )
{
if( char.IsLetter( ch ) )
{
if( ch == 'y' || ch == 'z' || ch == 'Y' || ch == 'Z' )
{
bs.Append( (char)(ch - 24) );
}
else
{
bs.Append( (char)(ch + 2) );
}
}
}
return bs.ToString();
}
String EncryptBackword( String input )
{
StringBuilder bs = new StringBuilder();
foreach( char ch in input.ToCharArray() )
{
if( char.IsLetter( ch ) )
{
if( ch == 'a' || ch == 'b' || ch == 'A' || ch == 'B' )
{
bs.Append( (char)(ch + 24) );
}
else
{
bs.Append( (char)(ch - 2) );
}
}
}
return bs.ToString();
}
function EncryptForward:
private string EncryptForward(string sourceStr)
{
char[] sourceChar = sourceStr.ToCharArray();
StringBuilder result = new StringBuilder(sourceStr.Length);
for (int i = 0; i < sourceChar.Length; i++)
{
int AscII = (int)sourceChar[i];
AscII = (AscII - 95) % 26 + 97;
result.Append(((char)AscII).ToString());
}
return result.ToString();
}