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


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?


4


origem


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


Respostas:


Depende da sua política de senha. Conheço alguns sites / sistemas onde o espaço é um caractere 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.


6





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 decifrá-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 é este ... se você está fazendo o aplicativo, você pode tentar fazer algo para impor sua própria política, que eliminaria e higienizaria a entrada, ou seria mais sensata a senha (você geralmente não quer senhas reais salvos) 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.


5



+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 propósito real de armazenar as senhas. - DaDaDom
@DaDaDom: Mesmo se o histórico recente de senhas, você apenas pega a senha digitada, hash, compara com o que há no histórico de hashes ... se os hashes coincidem, 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 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 deseja armazenar texto simples, apenas escape do delimitador nas strings de senha. - Josh
NÃO ARMAZENE SENHAS NÃO-CRÍTICAS EM SEU BANCO DE DADOS. - Ken Liu


Você não pode depender de 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 / como você está fazendo isso, você pode usar um caractere com ASCII 0x00, outro caractere que normalmente não é encontrado 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.


1