A super simple Python script I wrote in a day, mostly for exercice with the language. Do whatever you want with it (MIT License).
It follows the actual algorithm used by Windows 95, which goes like so:
"To determine whether the key is valid, Windows 95 performs the following checks: The first 3 characters must not be equal to 333, 444, 555, 666, 777, 888 or 999. The last 7 characters must all be numbers from 0-8. The sum of the last 7 numbers must be divisible by 7 with no remainder."