/**
需求:实现从键盘录入需要加密的数据,从键盘录入加密密码,对数据进行加密,显示出加密后的数据。
实现: A、编写录入数据功能
B、编写录入密码功能
C、编写加密功能
*/
import java.util.Scanner;
class Encipherment
{
public static void main(String[] args)
{
System.out.println("****加密****");
int[] arr =new int [10];
int password;
System.out.println("请输入需要加密的数据(5位的数字)不能多于10组数据");
System.out.println("当输入结束时请输入数字\"00000\"");
//循环调用录入功能,当录入到0时,结束录入,并将录入到的数据存储到数组中。
for (int i=0;;i++ )
{
arr[i]=entering1();
if (arr[i]==00000)
{
break;
}
}
//调用录入密码
password = entering2();
//调用加密功能
/*arr = */encipherment(arr,password);
System.out.println("内容已加密为:");
for (int i=0;i<10 ; i++)
{
System.out.println(arr[i]);
}
}
/**
录入数据功能
*/
public static int entering1()
{
Scanner sc =new Scanner(System.in);
int num = sc.nextInt();
return num;
}
/**
录入密码功能
*/
public static int entering2()
{
System.out.println("请输入加密密码(5位数字)");
Scanner sc =new Scanner(System.in);
int password = sc.nextInt();
return password;
}
/**
加密功能
*/
public static void encipherment(int[] arr,int password)
{
for(int i=0;i<arr.length;i++)
{
arr[i]=arr[i]^password;
}
//return arr;
}
}
因为是对于录入的数据以数组的形式存放的,但数组又必须在声明时定义出具体长度来,这个问题不知道该怎么解决了,希望能有人一起探讨下,另外单纯的用异或进行加密,安全系数也比较低,有什么比较好还比较简单的其他加密方法呢? |
|