티스토리 뷰
자바 암호화를 할 일이 있어서 인터넷 서핑을 하다가 아래와 같은 예제를 찾았다.
그래서 아래와 같이 이클립스에서 코딩을 하고 실행을 했는데..
[자바] AES128 암호화 예제
자바의 AES128 암호화 예제입니다. getAESKey 메소드의 key 값이 암호화할 때 사용할 키입니다.
public Key getAESKey() throws Exception {
String iv;
Key keySpec;
String key = "1234567890123456";
iv = key.substring(0, 16);
byte[] keyBytes = new byte[16];
byte[] b = key.getBytes("UTF-8");
int len = b.length;
if (len > keyBytes.length) {
len = keyBytes.length;
}
System.arraycopy(b, 0, keyBytes, 0, len);
keySpec = new SecretKeySpec(keyBytes, "AES");
return keySpec;
}
// 암호화
public String encAES(String str) throws Exception {
Key keySpec = getAESKey();
Cipher c = Cipher.getInstance("AES/CBC/PKCS5Padding");
c.init(Cipher.ENCRYPT_MODE, keySpec);
byte[] encrypted = c.doFinal(str.getBytes("UTF-8"));
String enStr = new String(Base64.encodeBase64(encrypted));
return enStr;
}
// 복호화
public String decAES(String enStr) throws Exception {
Key keySpec = getAESKey();
Cipher c = Cipher.getInstance("AES/CBC/PKCS5Padding");
c.init(Cipher.DECRYPT_MODE, keySpec);
byte[] byteStr = Base64.decodeBase64(enStr.getBytes("UTF-8"));
String decStr = new String(c.doFinal(byteStr), "UTF-8");
return decStr;
}
https://www.fun25.co.kr/blog/java-aes128-encrypt-example/?page=7
Exception in thread "main" java.security.InvalidKeyException: Parameters missing
이런 에러가 발생했다. 에러 해결 방법은 다음 글에서 살펴보자.
'자바(Java)' 카테고리의 다른 글
자바 암호화 - javax.crypto.BadPaddingException: Given final block not properly padded (0) | 2017.07.18 |
---|---|
자바 암호화 - java.security.InvalidKeyException: Parameters missing (0) | 2017.07.18 |
자바 배열을 스트링으로 출력하기 (0) | 2017.07.06 |
이클립스 svn 빨간색 화살표 없애기 (0) | 2017.07.05 |
자바 웹서비스를 이용한 이기종 시스템간 로그인 연동 (0) | 2017.06.26 |
- Total
- Today
- Yesterday
- JDBC
- proc
- 플러터
- XE
- Python
- 파이썬
- 인포믹스
- XE3
- 라이믹스 모듈
- MySQL
- 프로씨
- EC
- php
- 스크래핑
- 이클립스
- C언어
- 문자열
- xe addon
- 자바
- 포인터
- 자바 smtp
- ocjap
- 파싱
- KG
- esql
- xe애드온
- ocajp
- 오라클
- webix
- C
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |