密码加密大写字母c#的问题

Problem with cipher crypting uppercase letter c#

在使用 C# 中的基本 Cipher 加密代码加密大写字母时遇到问题,它们只是转换为符号 提前致谢,我写了下面的代码 (Ps,标签和文本框是瑞典语,但希望我能得到帮助)

代码:

private void btnkryptera_Click(object sender, EventArgs e)
{
    string vanlig = tbxnormaltext.Text;
    int bytanummer = int.Parse(tbxkryptera.Text);

    tbxkryperadtext.Text = görKryptering(vanlig, bytanummer);
}

private static string görKryptering(string ord, int nummer)
{
    char[] längd = ord.ToCharArray();

    for (int i = 0; i < längd.Length; i++)
    {
        //Separate and change letters
        char bokstav = längd[i];

        //Change letters based on which shift
        bokstav = (char)(bokstav + nummer);

        //Delete 26 on 'overflow'
        //Adds 26 on 'overflow'
        if (bokstav > 'z')
        {
            bokstav = (char)(bokstav - 26);
        }
        else if (bokstav < 'a')
        {
            bokstav = (char)(bokstav + 26);
        }

        //Then save
        längd[i] = bokstav;

    }
    return new string(längd);
}

小写字母从 'a' == 97 到 'z' == 122。大写字母从 'A' == 65 到 'Z' == 90。

因此,您的 bokstav < 'a' 将错误地处理您的大写字母。

要么为大写输入特定编码,要么使用 ToLower() 将明文转换为小写。