Difference between /dev/random and /dev/urandom
** 아래 내용은 GPT4 기반으로 정리했습니다. ** jvm 실행 옵션 중 Djava.security.egd 가 의미하는게 무엇인가 Djava.security.egd 옵션은 Java Virtual Machine(JVM)에서 암호화 작업을 위해 사용하는 엔트로피 소스를 지정하는 데 사용됩니다. EGD는 Entropy Gathering Daemon의 약자로, 시스템에서 무작위성(엔트로피)을 수집하는 메커니즘을 가리킵니다. 엔트로피란? 엔트로피는 무작위성의 정도를 나타내며, 암호화 작업에서 매우 중요합니다. 충분한 엔트로피가 없으면 암호화 알고리즘이 예측 가능해져 보안이 약화될 수 있습니다. Djava.security.egd 옵션의 역할: 이 JVM 옵션을 사용하여 애플리케이션이 엔트로피를 수집할 소스를 지정할 수 있습니다. 예를 들어, Linux 시스템에서는 /dev/random 또는 /dev/urandom 파일을 사용하여 엔트로피를 수집할 수 있습니다. /dev/random은 블로킹 모드로 운영되어 엔트로피 풀이 충분할 때만 데이터를 제공하는 반면, /dev/urandom은 비블로킹이며 더 빠르지만 엔트로피가 낮을 수 있습니다. 옵션 사용 예: -Djava.security.egd=file:/dev/urandom -jar your-application.jar ...