다음과 같은 방법으로 /dev/random만을 사용하는 쉘 스크립트를 개발 중입니다.
dd if=/dev/random of=%{outputFile} count=512 bs=1 2>/dev/null
나는 특히 /dev/urandom을 사용하고 싶지 않습니다. 하지만 여러 가지 이유로 /dev/urandom을 사용하는 것이 더 나을 것입니다. 컴퓨터용으로 구입한 특정 하드웨어 난수 생성기를 테스트하고 싶고 /에 의존하고 싶기 때문입니다. 개발/무작위로 완전히.
이제 entropy_avail과 poolsize를 확인할 수 있다는 것을 알지만 dd 호출 실행이 차단되지 않도록 최선을 다해 어떻게 해야 할까요? 어떤 이유에서든 entropy_avail의 크기를 확인하는 것만으로는 충분하지 않은 경우 간단한 작업을 수행하고 싶습니다. 왜냐하면 entropy_avail이 /dev/random에 사용할 수 있는 비트 수를 반드시 알려주지는 않기 때문입니다.
/dev/random에서 dd 실행이 차단되는지 어떻게 안전하게 확인해야 합니까?
답변1
GNU를 사용하는 경우 dd
다음을 사용할 수 있습니다.
dd if=/dev/random iflag=nonblock
차단 없이 최대 512바이트를 읽을 수 있습니다. 따라서 사용 가능한 바이트 수가 적으면 더 적은 바이트가 반환됩니다.