> Java > java지도 시간 > Java에서 SecureRandom의 성능을 어떻게 향상시킬 수 있습니까?

Java에서 SecureRandom의 성능을 어떻게 향상시킬 수 있습니까?

DDD
풀어 주다: 2024-12-02 07:00:15
원래의
755명이 탐색했습니다.

How Can I Improve the Performance of SecureRandom in Java?

SecureRandom 성능 촉진을 위한 전략

Java에서 강력한 암호화 난수 생성의 초석인 SecureRandom은 상당한 성능 병목 현상을 초래할 수 있습니다. Linux 플랫폼에서 /dev/random에 의존하면 시스템이 충분한 엔트로피를 축적하므로 장기간 차단이 발생할 수 있습니다. 이러한 성능 저하를 완화하기 위해 여러 전략을 사용할 수 있습니다.

더 빠른 /dev/urandom 대안 활용

Linux에서 사용자는 약간 덜 안전하지만 상당히 /dev/random의 대안으로 더 빠른 /dev/urandom. 이는 java.security.egd 시스템 속성을 다음과 같이 설정하여 달성할 수 있습니다.

-Djava.security.egd=file:/dev/urandom
로그인 후 복사

Java 5 이상에 대한 해결 방법

안타깝게도 이 방법은 호환되지 않습니다. 알려진 버그(Java Bug 6202721)로 인해 Java 5 및 후속 버전에 적용됩니다. 이 문제를 방지하려면 다음 해결 방법을 적용할 수 있습니다.

-Djava.security.egd=file:/dev/./urandom
로그인 후 복사

(추가 /./ 포함에 유의하세요)

대체 솔루션

성능 문제에 대한 또 다른 잠재적인 해결책은 Uncommon Maths를 활용하는 것입니다. 고성능 난수 생성기를 제공하는 오픈 소스 라이브러리입니다. 구현이 SecureRandom과 다를 수 있지만 실행 가능한 대안으로 살펴볼 가치가 있습니다.

JDK 6의 진행 상황

JDK 6에서 해결된 성능 문제와 관련하여 상충되는 정보 존재합니다. 일부 소식통에서는 이 문제가 해결되었다고 말하고 다른 소식통에서는 그렇지 않다고 제안합니다. JDK 6의 현재 상태를 확인하려면 추가 연구가 필요할 수 있습니다.

위 내용은 Java에서 SecureRandom의 성능을 어떻게 향상시킬 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿