알고리즘/기초

간단한 암호화 프로그램

leegeonwoo 2023. 8. 8. 00:48

아래의 각각 영문자 소문자를 암호화해주는 배열, 숫자를 암호화해주는 배열을 이용하여 입력값을 암호화하여 출력해보자.

char[] abcCode = 
			{ '`','~','!','@','#','$','%','^','&','*',
		      '(',')','-','_','+','=','|','[',']','{',
		      '}',';',':',',','.','/'};
              //순서대로 a,b,c,d,e,f......z

char[] numCode = {'q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p'};
                 //0    1    2    3    4    5    6    7    8    9

 

암호화할 값을 src로 입력받고, 암호화된 값을 저장할 result를 선언한다.

String src = sc.nextLine(); //input
String result = "";

 

char타입의 변수 ch에 src에 값을 하나씩 차례대로 암호화하는 과정이다.

if문을 통해 입력받은 값이 숫자인지 영소문자인지 판별하고,

소문자일경우에는 ch - 'a'를 하여 암호화에 해당하는 값으로 변환한다.

숫자역시 ch - '0'을 하여 암호화에 해당하는 값으로 변환한다.

for(int i=0; i<src.length(); i++) {
			char ch = src.charAt(i);
			if('a'<=ch && ch <= 'z') {
				result+= abcCode[ch - 'a'];
			}else if('0' <= ch && ch <='9') {
				result+= numCode[ch - '0'];
			}
		}

 

 

전체코드

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		char[] abcCode = 
			{ '`','~','!','@','#','$','%','^','&','*',
		      '(',')','-','_','+','=','|','[',']','{',
		      '}',';',':',',','.','/'};
		
						 //0    1    2    3    4    5    6    7    8    9 
		char[] numCode = {'q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p'};
		
		String src = sc.nextLine(); //input
		String result = "";
		
		for(int i=0; i<src.length(); i++) {
			char ch = src.charAt(i);
			if('a'<=ch && ch <= 'z') {
				result+= abcCode[ch - 'a'];
			}else if('0' <= ch && ch <='9') {
				result+= numCode[ch - '0'];
			}
		}
		System.out.println("src:" + src);
		System.out.println("result:" + result);
}
}

출력

abc123

src:abc123

result:`~!wer

 

728x90