SOFTMOA TECHNOLOGY

[ secure-coding for java ] Math.random() 사용하지 말것

소프트모아가 정리한 기술 기록입니다.

Contents
작성일 2014. 10. 20.
Math.random() 은

seed 값이 없으므로 다음 수를 예상 할 수 있다.

참고로 컴퓨터는 논리적인 의미의 난수를 생성 할 수 없다.

컴퓨터에겐 Random 이란 개념이 없기 때문이다.

그래서 일정 알고리즘을 사용해 난수(와 비슷한 수 ) 를 생성하는데 

이때 주로 사용하는것이 시간이다. 시간은 수시로 변하기 때문이다.

그래서 이 알고리즘만 분석하게 되면 난수값을 예측 할 수 있는것이다

대응 방법 으로는 

new SecureRandom().nextDouble()

을 사용하면 된다. 
Share this

Java

Have a questions?

견적 및 기술문의

mobile : 010-7931-4813

Contact Form