Como proteger a chave de descriptografia da descompilação?
Eu sou um programador iniciante em java. Estou trabalhando em um aplicativo que descriptografa alguns dados. A chave de descriptografia é codificada no software e, portanto, pode ser vista analisando o bytecod
Sei que a engenharia reversa não pode ser totalmente evitada, então o que estou tentando fazer é tornar o processo o mais difícil possíve
Minha idéia não é colocar diretamente a chave no meu código, mas passar por algum tipo de transformação. Por exemplo, eu poderia escrever -
private static final byte[] HC256A = Hex
.decode("8589075b0df3f6d82fc0c5425179b6a6"
+ "3465f053f2891f808b24744e18480b72"
+ "ec2792cdbf4dcfeb7769bf8dfa14aee4"
+ "7b4c50e8eaf3a9c8f506016c81697e32");
Desta forma, alguém que olha o bytecode não pode lê-lo imediatamente. Mas terá que seguir a lógica e aplicar transformações nela, o que não será muito mais fácil no nível de bytes.
Então, o que vocês acham? Isso é útil? Qual poderia ser a melhor transformação além da decodificação hexadecimal? Existem outros métodos disponíveis para proteger chaves de descriptografia codificada
Obrigado por todas as suas sugestões