package work17;
    
    public class four {
    
    	public static void main(String[] args) {
    
    		
    		/*
    		[실행결과]
    		src:abc123
    		result :`~!wer
    		입력 받은 문자열을 암호화 하도록 코드를 업그레이드 한다.
    				*/
    		
    		/*
    	 	다음은 알파벳과 숫자를 아래에 주어진 암호표로 암호화하는 프로그램이다.
    		(1)에 알맞은 코드를 넣어서 완성하시오.
    		a b c d e f g h i j k l m n o p q r s t u v w x y z
    		` ~ ! @ # $ % ^ & * ( ) - _ + = | [ ] { } ; : , . /
    		
    		0 1 2 3 4 5 6 7 8 9
    		q w e r t y u i o p
    	 	*/
    	
    		// abcdefghijklmnopqrstuvwxyz
    		char[] abcCode ={ 	
    				'`','~','!','@','#','$','%','^','&','*',
    				'(',')','-','_','+','=','|','[',']','{',
    				'}',';',':',',','.','/'
    		};	
    		
    		// 0 ~ 9
    		char[] numCode = {'q','w','e','r','t','y','u','i','o','p'};
    		
    		String src = "2034world34hwloe";
    		String result = "";
    		
    		// 암호화
    		for (int i = 0; i < src.length(); i++) {		
    		
    			char c = src.charAt(i);
    			int asc = (int)c;
    			
    			// 알파벳의 경우
    			if(asc >= 97 && asc <= 122) {	
    				asc = asc - 97;		// 'a' == 0
    				result = result + abcCode[asc];
    			}		
    			// 숫자의 경우
    			if(asc >= 48 && asc<= 57) {
    				asc = asc - 48;		// '0' == 0
    				result = result + numCode[asc];
    			}		
    		}
    		
    		System.out.println("원본코드:" + src);
    		System.out.println("암호화코드:" + result);
    				
    		
    		// 복호화
    		String base = "";
    		
    		for (int j = 0; j < result.length(); j++) {		
    			char c = result.charAt( j );
    			int asc = (int)c;
    			
    			// 암호화된 숫자
    			int index = 0;
    			if(asc >= 97 && asc <= 122) {	// a ~ z
    				
    				for (int i = 0; i < numCode.length; i++) {
    					if(c == numCode[i]) {
    						index = i;
    						break;
    					}
    				}
    				
    				index = index + 48;
    				base = base + (char)index;			
    			}				
    			else {	// 암호화된 기호
    				
    				for (int i = 0; i < abcCode.length; i++) {
    					if(c == abcCode[i]) {
    						index = i;
    						break;
    					}
    				}
    				
    				index = index + 97;
    				base = base + (char)index;			
    			}		
    		}
    		
    		System.out.println("복호화코드:" + base);
    	}
    }
    
    • 네이버 블러그 공유하기
    • 네이버 밴드에 공유하기
    • 페이스북 공유하기
    • 카카오스토리 공유하기