outstr[i] = (char)(int)text[i]^j;

解决方案 »

  1.   

    outstr[i] = (char)((int)text[i]^j);
      

  2.   

    outstr[i] = (char)((int)text[i]^j);
      

  3.   

    报错啊。outstr[i] 是只读的。不能赋值。
      

  4.   

    定义如下:
    byte[] outstr = new byte[keylen];
      

  5.   

    StringBuilder outstr = new StringBuilder(Sstr);
    ...
    outstr[i] = (char)((int)text[i]^j);return outstr.ToString();
      

  6.   

    sun926(初学者)的方法可以,加入using System.Text;
      

  7.   

    支持winxieddd(一剑飘香(找工作)) 说的!
      

  8.   

    是可以的。但是解密出来不是我的初始密码。
    修改后的代码:
    private string SRA_RES(string Sstr)
    {
    string key = "123321";
    int keylen = key.Length;
    string text = Sstr;
    StringBuilder outstr = new StringBuilder(Sstr);
    for (int i = 1; i < text.Length; i++)
    {
    int j = (i-1)%keylen +1;
    outstr[i] = (char)((int)text[i]^j); }
    return  outstr.ToString();