CONVERTER HEXADECIMAL PARA STRING
bom dia pessoal
eu tenho uma codificação que converte uma cadeia de string para hexadecimal:
string s = txt_senha.Text;
string hex = [Ô][Ô];
foreach (char c in s)
hex += ((int)c).ToString([Ô]x[Ô]) + [Ô] [Ô];
agora quero fazer o inverso. eu tentei a fazer assim
static void Main()
{
byte[] data = FromHex(valor_Hexadecimal);
string s = Encoding.ASCII.GetString(data); // GatewayServer
}
public static byte[] FromHex(string hex)
{
hex = hex.Replace([Ô]-[Ô], [Ô][Ô]);
byte[] raw = new byte[hex.Length / 2];
for (int i = 0; i < raw.Length; i++)
{
raw[i] = Convert.ToByte(hex.Substring(i * 2, 2), 16);
}
return raw;
}
mas ele retorna que nenhum dÃgito reconhecÃvel foi encontrado
eu tenho uma codificação que converte uma cadeia de string para hexadecimal:
string s = txt_senha.Text;
string hex = [Ô][Ô];
foreach (char c in s)
hex += ((int)c).ToString([Ô]x[Ô]) + [Ô] [Ô];
agora quero fazer o inverso. eu tentei a fazer assim
static void Main()
{
byte[] data = FromHex(valor_Hexadecimal);
string s = Encoding.ASCII.GetString(data); // GatewayServer
}
public static byte[] FromHex(string hex)
{
hex = hex.Replace([Ô]-[Ô], [Ô][Ô]);
byte[] raw = new byte[hex.Length / 2];
for (int i = 0; i < raw.Length; i++)
{
raw[i] = Convert.ToByte(hex.Substring(i * 2, 2), 16);
}
return raw;
}
mas ele retorna que nenhum dÃgito reconhecÃvel foi encontrado
Resolvi o problema! rsrsrs
era só tirar os espaços em hex = hex.replace([Ô] [Ô],[Ô][Ô]);
a minha idéia é a seguinte:
Eu tenho um banco em mysql, e na tabela usuários como sempre temos o campo senha. Na aplicação (que estou fazendo em C#), ao cadastrar um novo usuário, eu coloco esse método pra converter uma string para hexadecimal. Assim, no banco de dados a senha de usuário será gravada em hexadecimal. e ao logar-se todas as vezes a aplicação converteria a senha em hexadecimal antes de fazer o SELECT. E o motivo pelo qual eu reconverteria para string é caso o usuário queira editar o cadastro. pois se não fizer isso toda a vez a aplicação converteria o hexadecimal novamente para hexadecimal! e gravaria um hexadecimal de um hexadecimal! rsrsrsr
sei que já resolvi o problema mas vou deixar o topico aberto por mais alguns dias pro caso da galera querer fazer algum comentário ou observação!
E se alguém tem uma forma melhor de criptografar os dados e poder me dar uma força na questão do login eu agradeço!
era só tirar os espaços em hex = hex.replace([Ô] [Ô],[Ô][Ô]);
a minha idéia é a seguinte:
Eu tenho um banco em mysql, e na tabela usuários como sempre temos o campo senha. Na aplicação (que estou fazendo em C#), ao cadastrar um novo usuário, eu coloco esse método pra converter uma string para hexadecimal. Assim, no banco de dados a senha de usuário será gravada em hexadecimal. e ao logar-se todas as vezes a aplicação converteria a senha em hexadecimal antes de fazer o SELECT. E o motivo pelo qual eu reconverteria para string é caso o usuário queira editar o cadastro. pois se não fizer isso toda a vez a aplicação converteria o hexadecimal novamente para hexadecimal! e gravaria um hexadecimal de um hexadecimal! rsrsrsr
sei que já resolvi o problema mas vou deixar o topico aberto por mais alguns dias pro caso da galera querer fazer algum comentário ou observação!
E se alguém tem uma forma melhor de criptografar os dados e poder me dar uma força na questão do login eu agradeço!
Tópico encerrado , respostas não são mais permitidas