Random perpendicular vector3 after rotation

I am generating random vectors3 (lets name it R), which would be perpendicular to given vector3 (lets name it A). If vector A is defined as:

Vector3 A = new Vector3(0f,1f,0f);

I can easily get any random vector3 which would be perpendicular to A by:

Vector3 R = new Vector3(Random.Range(-1f,1f), 0f, Random.Range(-1f,1f));

How I could create random vector R which would be perpendicular to any vector in 3d space?

Given any two non-parallel vectors, you can generate the perpendicular by Vector3.Cross(). The direction of that vector will depend on the order you pass the two parameters in the Cross() call.