Casa > C > Como São Armazenadas As Senhas Em Uma Base De Dados?

Como são armazenadas as senhas em uma base de dados?

Depende. As senhas necessárias pelos usuários da base de dados para entrar na base de dados nunca são (esperançosamente) armazenadas na base de dados. Ao invés disso, hashes salgados são armazenados. A questão é que deve ser praticamente impossível para qualquer pessoa determinar a senha a partir dos dados armazenados ou encontrar uma senha (talvez diferente da original) que produza os mesmos dados armazenados usando a mesma função de hash e sal.

Então existem senhas que um aplicativo que usa a base de dados quer usar para identificar seus próprios usuários (que não são usuários da base de dados). Aplicações bem projetadas devem usar a mesma técnica acima para conseguir isso. Infelizmente, existem muitos que don't, em vez disso armazenam as senhas de seus usuários em texto puro ou criptografadas com uma chave que é hardcoded na fonte da aplicação.

E então existem casos em que uma aplicação precisa armazenar senhas que ela usa para se autenticar em outros sistemas que ela chama (por exemplo, outros bancos de dados, serviços web, etc.). Essas podem ser armazenadas criptografadas com uma ou várias chaves que devem ser fornecidas no momento do uso, lendo-as de um dispositivo seguro (por exemplo, um arquivo especialmente protegido, um cartão inteligente, uma carteira eletrônica, etc.). Há também casos em que o armazenamento de tais senhas pode ser completamente evitado ao ter os usuários finais (humanos) autenticados em um sistema de autenticação especial que então fornece um token limitado no tempo (também chamado ticket, cookie de sessão, etc) que todos os sistemas externos então aceitam no lugar de uma senha para esse usuário (depois de validar o token com o sistema que o emitiu em primeiro lugar, é claro).

De Wootten Petron

Quão seguras são as aplicações de gestão de senhas? :: Quanto tempo vai durar a minha TV inteligente Samsung?