We present an algorithm for computing Hilbert bases. A nice feature of the algorithm is that it is also a constructive proof that every basis vector of a Hilbert Basis can be written down using polynomial space, establishing that Integer Linear Programming is in NP, not only for one solution, but for all minimal basis solutions