加密解密问题
某公司想通过电话线传输数据,但是担心他们的数据被窃取。所有的数据都是用4位整数传输的。要求编写一个能够对他们的数据进行进行加密并能够更安全地传输的应用程序。应用程序应该能够读入由用户在输入框中输入的4位整数,并按如下方法加密:
将每位数字用该位数字加7所得的和对10取模,所得到的数值代替该位数字。然后将第1位数字和第3位数字交换位置,第2位和第4位数字交换位置。输出加密后的整数。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _加密解密问题
{
class Program
{
static void Main(string[] args)
{
int i, m, temp;
int[] num = new int[4];
Console.WriteLine("请输入一个四位数的整数:");
m = int.Parse(Console.ReadLine());//保存输入的一个四位数
num[0] = m / 1000;//将输入的四位数按位存放到数组里
num[1] = m % 1000 / 100;
num[2] = m % 100 / 10;
num[3] = m % 10;
for (i = 0; i <= 3; i++)//将数组中的每一位都加7后对10取余
{
num[i] += 7;
num[i] = num[i] % 10;
}
temp = num[0];//将第1位数字和第3位数字交换位置
num[0] = num[2];
num[2] = temp;
temp = num[1];//第2位和第4位数字交换位置
num[1] = num[3];
num[3] = temp;
for (i = 0; i <= 3; i++)//输出加密后的整数
{
Console.Write(num[i]);
}
Console.ReadLine();
}
}
}