오늘이라도
32. IO ③ 본문
https://github.com/upcake/Class_Examples
교육 중에 작성한 예제들은 깃허브에 올려두고 있습니다.
- DataInputStream / DataOutputStream을 이용해서 암호화할 수 있다.
- 암호화 스트림을 거치면 byte 타입으로 저장되어 알아볼 수가 없게 된다.
※ 암호화
- 송신 ↔ 수신 과정에서 암호화를 하지 않으면 평문을 송신, 수신하게 된다.
- 암호화를 한다면 평문 - 암호문 - 평문으로 송수신하게 된다.
- 암호화 : 평문 → 암호문
- 복호화 : 암호문 → 평문
- 암호화 키 == 복호화 키 ▶ 대칭키, 비밀키
- 암호화 키 != 복호화 키 ▶ 비대칭키, 공개키
- String 타입을 암호화할 때는 writeUTF()라는 메서드를 사용한다.
- 텍스트 파일이 아닌 임의의 확장자 파일로 저장하여 일반 사용자가 쉽게 접근하지 못하게끔 한다.
- ObjectInputStream / ObjectOutputStream 은 객체(상태 정보)를 byte 형으로 변환하여 입출력하는 스트림이다.
- 객체의 직렬화란, 객체가 가지고 있는 멤버 변수들이 바이트형으로 바뀌는 것을 말한다.
- 객체의 역직렬화란, 직렬화된 객체가 다시 원래의 상태로 복원되는 것을 말한다.
- DTO 클래스를 직렬화 하기 위해서는 implements Serializable을 붙여준다.
- getScore() : 점수를 입력받고 list에 저장하는 메서드
- inputSave() : 입력받은 점수를 텍스트 파일에 저장하는 메서드
- readFile() : 저장된 점수 텍스트 파일을 읽어오는 메서드
- getSumAvg() : 성적의 총합과 평균을 구하는 메서드
- avgDescSort() : 평균의 내림차순으로 정렬하는 메서드
- outputSave() : 정렬한 리스트를 텍스트 파일로 출력하는 메서드
'취업성공패키지 SW 개발자 교육 > Java' 카테고리의 다른 글
34. Networking ② (0) | 2020.04.03 |
---|---|
33. Networking ① (0) | 2020.04.02 |
31. IO ② (0) | 2020.03.31 |
30. IO (Input & Output) ① (0) | 2020.03.30 |
29. 스레드 (0) | 2020.03.30 |