É utilizado o sistema de dígitos verificadores.
Basicamente no CPF nem todos os números são aleatórios:
- O primeiro dígito é definido pela região em que a pessoa fez o seu cadastro
- O décimo dígito é gerado a partir de uma equação com os outros 9
- O décimo primeiro dígito é gerado a partir de uma equação com os outros 10
Se quiser pode ver como é essa equação nesse artigo
Com o CNPJ é mais ou menos a mesma coisa, com a diferença de que são 14 dígitos ao todo ao invés de 11.
Se quiser pode ver como é essa equação nesse artigo