【发布时间】:2017-04-02 16:01:57
【问题描述】:
我几周前刚刚学习了密码学。我想开发我的工具来加密和解密凯撒密码。但是当我解密时,它总是返回奇怪的值。示例:如果我加密“我的第一个工具加密”,它不会返回正确的解密“zl svefg gbby pelcgb”,而是使用旋转 13 或我选择的其他旋转返回“m_ fiXYZ ZUUl cX_VZU”。
string array1 = "zl svefg gbby pelcgb";
int t2 = 0;
foreach (char c in array1)
{
if ((int)c == 32 || ((int)c >= 48 && (int)c <= 57))
t2 = c;
else
t2 = ((((int)c - 97) - 13) % 26) + 97;
Console.Write((char)t2);
}
【问题讨论】:
-
将-13改为+13是否有效?
-
是的,它有效。但只旋转 13 次!!!当我尝试其他一些旋转时,它又回到了另一个奇怪的值。
标签: c# encryption cryptography caesar-cipher