Encryption 加密信息需要将字母翻译成数字的帮助。答案是UTTQ CTOA…如何?

Encryption 加密信息需要将字母翻译成数字的帮助。答案是UTTQ CTOA…如何?,encryption,discrete-mathematics,Encryption,Discrete Mathematics,通过将字母转换为数字,应用 加密函数f(p)=(3p+7)mod 26,然后将数字转换回 信件。 Ans:加密形式:UTTQ CTOA 有人能给我解释一下他们是如何得到这个答案的吗?首先,你必须给每个字母指定一个数字: A=0;B=1;C=2 然后将函数应用于所获得的数字,并将其转换回字母: N等于13,所以13*3=39,+7=46 那么mod 26=20 转换回,20=U 如果你在句子的所有字母上都这样做,你就会得到加密的表格 这里是实现这一点的C代码: private static

通过将字母转换为数字,应用 加密函数f(p)=(3p+7)mod 26,然后将数字转换回 信件。 Ans:加密形式:UTTQ CTOA


有人能给我解释一下他们是如何得到这个答案的吗?首先,你必须给每个字母指定一个数字:

A=0;B=1;C=2

然后将函数应用于所获得的数字,并将其转换回字母:

N等于13,所以13*3=39,+7=46 那么mod 26=20

转换回,20=U

如果你在句子的所有字母上都这样做,你就会得到加密的表格

这里是实现这一点的C代码:

    private static string encrypt(string s)
    {
        char[] tmp = new char[s.Length];
        int i = 0;

        foreach (char c in s)
        {
            tmp[i] = (char)((((c - 'A') * 3 + 7) % 26) + 'A');
            i++;
        }

        return new string(tmp);
    }
这里是你的解密函数(好的,这是一个混乱但有效的函数):

私有静态字符串解密(字符串s)
{
字符串res=s;
对于(int i=0;i<5;i++)
res=加密(res);
返回res;
}

谢谢……你在哪里申请了20美元?这正是我不懂的,只要把从A到Z的所有字母都写下来,然后把数字(从0开始)写在前面,你就会看到前面有20个字母
    private static string decrypt(string s)
    {
        string res = s;
        for (int i = 0; i < 5; i++)
            res = encrypt(res);

        return res;
    }