public static function randomBytes($len, $cb, $pri = 0, $hang = false)
    {
        $cb = CallbackWrapper::wrap($cb);
        FileSystem::open('/dev/' . ($hang ? '' : 'u') . 'random', 'r', function ($file) use ($len, $cb, $pri) {
            if (!$file) {
                $cb(false);
                return;
            }
            $file->read($len, 0, function ($file, $data) use ($cb) {
                $cb($data);
            }, $pri);
        }, null, $pri);
    }