string Encrypt(string src)
{
byte[] b = System.Text.Encoding.Default.GetBytes(src);
int i;
for (i = 0 ; i < b.GetLength(0); ++i)
{
b[i] += 3;
}
return System.Text.Encoding.Default.GetString(b);
}

解决方案 »

  1.   

    改写了一下楼上的string Encrypt(string src)
    {
    byte[] b = System.Text.Encoding.Default.GetBytes(src);
    int i;
    for (i = 0 ; i < b.GetLength(0); ++i)
    {
    b[i] += 3;
    if (b[i] > 122)
    b[i] -= 26;
    }
    return System.Text.Encoding.Default.GetString(b);
    }
      

  2.   

    思考方法就是将字符串转成byte[]即字节数组,然后进行处理,最后在转成字符串输出,如果加密后的结果有值变成非ASCII字符,可转成Base64编码输出。祝你快乐!
      

  3.   

    把字符串转换成byte型数组,然后把每个byte加上3,这样字符就增大3,在ascii码中,字符是顺序存放的,增大3就是用后面第三个字符这样再转换回来,就变成你想要的了
      

  4.   

    加密解密类:
    using System;
    using System.Text;
    using System.Globalization;
    using System.Security.Cryptography;  
    using System.Windows.Forms;namespace Jh.Base.Encrypts
    {
    public class JhEncrypt  
    {  
      
    public JhEncrypt()  
    {  
    }  
    public static string Encrypt(string original)
    {
    return Encrypt(original,"JASONHEUNG");
    }
    public static string Decrypt(string original)
    {
    return Decrypt(original,"JASONHEUNG",System.Text.Encoding.Default);
    }
    public static string Decrypt(string original, string key)
    {
    return Decrypt(original,key,System.Text.Encoding.Default);
    }
    public static string Decrypt(string original,Encoding encoding)
    {
    return Decrypt(original,"JASONHEUNG",encoding);
    }
    /// <summary>
    /// 加密
    /// </summary>
    /// <param name="original">原始文字</param>
    /// <param name="key">密钥</param>
    /// <param name="encoding">字符编码方案</param>
    /// <returns>密文</returns>
    public static string Encrypt(string original, string key)  
    {  
    byte[] buff = System.Text.Encoding.Default.GetBytes(original);  
    byte[] kb = System.Text.Encoding.Default.GetBytes(key);
    return Convert.ToBase64String(Encrypt(buff,kb));    
    }  
      
    /// <summary>
    /// 解密
    /// </summary>
    /// <param name="encrypted">密文</param>
    /// <param name="key">密钥</param>
    /// <param name="encoding">字符编码方案</param>
    /// <returns>明文</returns>
    public static string Decrypt(string encrypted, string key,Encoding encoding)  
    {     
    byte[] buff = Convert.FromBase64String(encrypted);  
    byte[] kb = System.Text.Encoding.Default.GetBytes(key);
    return encoding.GetString(Decrypt(buff,kb));    
    }   public static byte[] MakeMD5(byte[] original)
    {
    MD5CryptoServiceProvider hashmd5 = new MD5CryptoServiceProvider();  
    byte[] keyhash = hashmd5.ComputeHash(original);     
    hashmd5 = null;  
    return keyhash;
    } /// <summary>
    /// 加密
    /// </summary>
    /// <param name="original">原始数据</param>
    /// <param name="key">密钥</param>
    /// <returns></returns>
    public static byte[] Encrypt(byte[] original, byte[] key)  
    {  
    TripleDESCryptoServiceProvider des = new TripleDESCryptoServiceProvider();     
    des.Key =  MakeMD5(key);
    des.Mode = CipherMode.ECB;  
      
    return des.CreateEncryptor().TransformFinalBlock(original, 0, original.Length);   
    }   /// <summary>
    /// 解密数据
    /// </summary>
    /// <param name="encrypted">密文</param>
    /// <param name="key">密钥</param>
    /// <returns></returns>
    public static byte[] Decrypt(byte[] encrypted, byte[] key)  
    {  
    TripleDESCryptoServiceProvider des = new TripleDESCryptoServiceProvider();  
    des.Key =  MakeMD5(key);   
    des.Mode = CipherMode.ECB;   return des.CreateDecryptor().TransformFinalBlock(encrypted, 0, encrypted.Length);
    }  
      
    /// <summary>
    /// 加密
    /// </summary>
    /// <param name="original">原始数据</param>
    /// <param name="key">密钥</param>
    /// <returns></returns>
    public static byte[] Encrypt(byte[] original)  
    {  
    byte[] key = System.Text.Encoding.Default.GetBytes("JASONHEUNG"); 
    return Encrypt(original,key);   
    }   /// <summary>
    /// 解密数据
    /// </summary>
    /// <param name="encrypted">密文</param>
    /// <param name="key">密钥</param>
    /// <returns></returns>
    public static byte[] Decrypt(byte[] encrypted)  
    {  
    byte[] key = System.Text.Encoding.Default.GetBytes("JASONHEUNG"); 
    return Decrypt(encrypted,key);   
    }  
     
    }  
    }