프로그래밍 언어

적절하지 않은 난수 값 사용은 보안 취약점 예측 가능한 난수를 사용하는 것은 시스템에 보안약점을 유발한다. Random은 정말 랜덤인거 아닌가?... 아니였다. 원인 컴퓨터의 난수발생기는 난수 값을 결정하는 시드(Seed) 값이 고정될 경우, 매번 동일한 난수값이 발생한다. public class Main { public static void main(String[] args) { Thread thread1 = new Thread(() -> System.out.println(getRandomValue(System.currentTimeMillis()))); Thread thread2 = new Thread(() -> System.out.println(getRandomValue(System.currentTi..
예외(Exception) 실무에 들어가서 놀란 것은 이 예외를 처리하는 부분이라고 볼 수 있다. 시큐어 코딩 가이드도 읽어가면서, 왜 e.printStackTrace()를 쓰면 안 되는지 예외 처리를 왜 해줘야 하는지 예외의 종류도 checked / unchecked 로 나뉘어져 있다는 것을 알게 되었다. 부끄럽지만 원래는 실무에 들어가기 전에 알고 있어야 하는 당연한 것이였다. e.printStackTrace()를 쓰면 안 되는 이유? e.printStackTrace()를 자세히 보면 예외 발생 스택 정보를 출력하면서 애플리케이션 내부 구조 및 메서드 호출 경로 등이 그대로 노출되게 된다. 이는 심각한 보안 취약점 이다. 또한 스택 추적 정보를 출력하는데 많은 시간과 자원을 사용합니다. Tmi. Sys..
간단하게 자바로 프로그램을 짜보고 있었습니다. while문을 돌려 그 안에 로직을 돌렸는데, 첫 번째 입력을 받는 부분에 \n이 들어가는 것을 확인했습니다. import java.util.Scanner; public class PayMain1 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); PayService payService = new PayService(); while(true) { System.out.print("결제 수단을 입력하세요.:"); String payOption = sc.nextLine(); if (payOption.equals("exit")) { System.out.println("프로그램..
솜사탕코튼
'프로그래밍 언어' 카테고리의 글 목록