Os espaços são componentes válidos de uma senha? [fechadas]


4

Espaço é um componente válido de uma senha ou não? Estou tentando salvar 10 senhas recentes em 1 string no banco de dados e precisa encontrar um bom delimitador para eles. Eu acho que o espaço talvez seja um bom candidato. O que você acha?


2
Como disse @Bart - HASH a senha. Leia isto para ajudar a explicar por que: security.blogoverflow.com/2011/11/…
Rory Alsop

Respostas:


6

Depende da sua política de senha. Conheço alguns sites / sistemas onde o espaço é um caracter válido para uma senha. Para estar no lado seguro, você poderia verificar os espaços dentro da senha e escapar deles.

Ah, e como uma atualização curta: Tente reparar o design do banco de dados. Como você tem um relacionamento 1: n, você deve salvar cada senha separadamente e conectar cada entrada ao usuário correspondente.


5

Espaços são normalmente válidos. Eu ficaria desconfiado de qualquer delimitador, pois é uma forma de segurança através da obscuridade que alguém não vai quebrá-lo ou acidentalmente tropeçar nele no futuro e você terá que descobrir o bug.

Eu usaria uma entrada separada para cada um.

Você não menciona qual aplicativo é esse ... se você estiver fazendo o aplicativo, pode tentar fazer algo para impor sua própria política que eliminaria e limparia a entrada, ou seria mais sensato associar a senha (geralmente não quer senhas reais salvas) e o hash não teria a senha nele. Então, suponho que você poderia usar o delimitador que quiser, desde que não faça parte do namespace hash dos caracteres.


2
+2 para hashing. Hashing com codificação hexadecimal tem a vantagem de você obter apenas 0123456789ABCDEF, e você pode usar qualquer coisa que não seja para delimitar a senha. (E tem a vantagem de segurança adicional que é mais difícil recuperar uma senha do banco de dados roubado)
Jason

A idéia do hash é boa SE a senha não precisar ser armazenada em texto simples. Embora eu também ache que se trata de uma história de "senhas recentes", "aluno" não mencionou o objetivo real de armazenar as senhas.
DaDaDom

1
@DaDaDom: Mesmo se o histórico recente de senhas, você apenas pega a senha inserida, o hash, compara com o que há no histórico de hashes ... se os hashes coincidem, ele foi usado recentemente. As senhas de texto simples da história são normalmente uma má ideia.
Bart Silverstrim

Eu costumo usar frases de 2-4 palavras, com espaços, como uma frase secreta - especificamente porque o espaço é um caractere de senha incomum, tornando menos provável que ele seja quebrado (também é muito rápido de digitar, já que é como digitar uma frase normal ). Estou sempre irritado quando encontro o serviço raro que não me permite usar espaços. Hashes seria bom ... ou se você realmente quer armazenar texto simples, apenas escape do delimitador nas strings de senha.
Josh

4
NÃO ARMAZENE SENHAS NÃO-CRÍTICAS EM SEU BANCO DE DADOS.
Ken Liu

1

Você não pode confiar em espaço, pois é um caractere de senha válido na maioria dos sistemas, especialmente agora que as senhas são as novas senhas.

Dependendo do que você está fazendo, você pode usar um caractere com ASCII 0x00, outro caractere não encontrado normalmente em um teclado ou o unicode?

Pessoalmente, eu não tentaria concatená-los em uma única string, eu provavelmente armazenaria uma entrada para cada senha.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.