-
[소스코드 보안 취약점]적절하지 않은 난수 값 사용JAVA 2018. 10. 21. 23:12
BAD
1234567891011package test;public class Test{public static void main(String[] args){int random= (int) (Math.random()*10); //0~10System.out.println(random);}}cs Math.random()이 안전하지 않은 이유
=> seed 값이 없기 때문에 난수가 전체적으로 고르게 분포하지않음.
GOOD
1234567891011121314151617181920import java.util.Date;import java.util.Random;public class Test{public static void main(String[] args){Random random = new Random();random.setSeed(new Date().getTime());for(int i=0; i<10000;i++){System.out.println( (int)(random.nextInt(100))); //0~100}}}cs 'JAVA' 카테고리의 다른 글
[JAVA] 람다식과 함수형 인터페이스 (0) 2018.11.11 [JAVA] 람다식이란? 그리고 사용법! (0) 2018.11.11 [JAVA] LocalDate, LocalDateTime 사용법 (0) 2018.11.05 [JAVA] final 멤버 변수는 상수가 아니다 (0) 2018.10.25 [JAVA] 객체 정렬 Comparator (0) 2018.08.29