CVV and CVV2 values are often confused by cardholders. To briefly explain the difference between CVV and CVV2:

CVV is the value printed on the card's magnetic stripe, not visible to the cardholder, and used for card verification in authorization transactions where the card is physically swiped through a POS.

CVV2 is the value printed on the back of the card, used by cardholders in e-commerce transactions, and used for card verification in authorization transactions.

Comparison of CVV and CVV2 values on a payment card

So what differences are there in the CVV and CVV2 generation algorithm?

When generating CVV and CVV2, the CVK, PAN (card number), and Exp Date (expiration date) are used in common.

In addition to this information;

When generating CVV, the Svc Code (Service Code) is used; when generating CVV2, the value 000 is used instead of the Service Code.

We can illustrate the CVV and CVV2 generation algorithm as follows:

  • CVK (Card Verification Key)
  • CVV (Card Verification Value)

CVV = ENC(CVK[f(PAN & Exp Date & Svc Code)] by Issuer

CVV 2 = ENC(CVK[f(PAN & Exp Date & '000')] by Issuer