I have a Citibank/American Airlines card that has this option. The interface to create the virtual card number is somewhat crappy (flash) but it works. This is probably available on other citibank cards as well.
I never cheated an honest man, only rascals. They wanted something for nothing. I gave them nothing for something. -- Joseph "Yellow Kid" Weil