목차
- 자바 코딩 리눅스에서 javac 명령어로 자바 소스코드 컴파일 예제 이전 포스팅 링크 및 설명
- 자바 코딩 HashMap 전체 키와 값 출력 예제 이전 포스팅 링크 및 설명
- 자바 코딩 InputStreamReader 문자열 입력받기 예제 이전 포스팅 링크 및 설명
- 자바 코딩 AES 256 키 설정 및 ECB 암호화 및 복호화 메소드 구현 예제
- 자바 코딩 JAR 라이브러리로 빌드 예제
자바 코딩 리눅스에서 javac 명령어로 자바 소스코드 컴파일 예제 이전 포스팅 링크 및 설명
이전 포스팅에서는 자바 소스코드를 컴파일하는 과정과 관련된 내용을 다뤘습니다. 자세한 설명과 함께 예제를 통해 실제 컴파일 작업을 진행하는 방법을 확인할 수 있습니다. 자바 개발 환경에서 컴파일 작업을 수행할 때 참고할 수 있는 내용이니, 이전 포스트를 참고해주세요. 특히 리눅스에서 jdk 도구에 포함된 javac 명령을 이용하여 java 소스 코드를 컴파일하는 방식이기때문에 알아두면 리눅스 환경에서 자바 개발시 도움이 됩니다.
2023.08.10 - [Linux] - [Linux/Java] 리눅스 우분투에서 java 컴파일 및 실행 예제(javac)
자바 코딩 HashMap 전체 키와 값 출력 예제 이전 포스팅 링크 및 설명
다음으로 이전 포스팅에서는 HashMap을 사용하여 데이터를 저장하고, 저장된 데이터를 전체적으로 조회하는 방법에 대해 다뤘습니다. 자세한 설명과 함께 예제를 통해 HashMap의 활용법을 실습해볼 수 있습니다. HashMap을 다루는데 도움이 될 수 있는 내용이니, 이전 포스트를 참고해주세요. 해시맵에 저장된 키와 값들을 일련으로 모두 출력하고 싶거나 해당 기능이 필요하다면 도움될 수 있는 포스팅입니다.
2023.07.29 - [Java] - [Java] HashMap 활용 예제 - 2(전체 키, 값 출력 및 특정 키,값 찾기)
자바 코딩 InputStreamReader 문자열 입력받기 예제 이전 포스팅 링크 및 설명
마지막으로 InputStreamReader를 활용하여 사용자로부터 문자열을 입력받는 예제입니다. 이전 포스팅에서는 InputStreamReader를 이용하여 사용자 입력을 받는 방법에 대해 다뤘습니다. 자세한 설명과 함께 예제를 통해 실제로 사용자로부터 문자열을 입력받는 과정을 확인할 수 있습니다. 문자열 입력에 관련된 내용을 학습하고 싶다면, 이전 포스트를 참고해주세요.
2023.08.10 - [Java] - [Java] InputStreamReader 사용자에게 문자열 입력받아 치환 예제(readLine, replace)
자바 코딩 AES 256 키 설정 및 ECB 암호화 및 복호화 메소드 구현 예제
아래는 AES 256 암호화에서 키를 설정하고 ECB 모드로 암호화하는 예제입니다.AES 256 암호화를 위한 키 설정, ECB 모드로 암호화하는 메소들을 구현합니다. 예제를 통해 실제 암호화 작업을 수행하는 과정을 확인할 수 있습니다. 우선 암호화를 위해 키 설정 메소드를 구현하고 이후 ECB 모드로 문자열을 암호화 및 복호화 메소드를 구현합니다.
$ mkdir /tmp/aes_jar
$ cd /tmp/aes_jar
$ mkdir src
$ cd src
$ vim AESUtil.java
package com.example;
import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;
import java.security.NoSuchAlgorithmException;
import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;
public class AESUtil {
public static SecretKey generateKey() throws NoSuchAlgorithmException {
KeyGenerator keyGenerator = KeyGenerator.getInstance("AES");
keyGenerator.init(256);
return keyGenerator.generateKey();
}
public static byte[] encryptECB(byte[] data, SecretKey key) throws Exception {
Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
cipher.init(Cipher.ENCRYPT_MODE, key);
return cipher.doFinal(data);
}
public static byte[] decryptECB(byte[] encryptedData, SecretKey key) throws Exception {
Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
cipher.init(Cipher.DECRYPT_MODE, key);
return cipher.doFinal(encryptedData);
}
}
자바 코딩 JAR 라이브러리로 빌드 예제
아래는 자바 프로젝트를 JAR 라이브러리로 빌드하는 예제입니다. 위에서 만든 AES 256 암호화 메소드가 포함된 클래스를 Jar 라이브러리 형태로 빌드합니다. 이 라이브러리는 메인 모듈에 링크되어 언제 어디서든 AES 256 암호화 및 복호화가 가능합니다. 이처럼 리눅스 환경에서 javac 컴파일 명령을 사용하여 jar 라이브러리를 만들 수 있습니다.
$ cd /tmp/aes_jar
$ javac -d build src/*.java
$ jar cvf AESUtil.jar -C build .
$ ls -al AESUtil.jar