Мне нужно сохранить имя пользователя и пароль в текстовом файле в этом формате: имя пользователя # пароль. Есть ли способ в Java скрывать символы паролей? Итак, если я открою, что пароль txt-файла не может быть прочитан.Скрыть пароль в текстовом файле
ответ
txt
файл является открытым текстом файл, а это означает, что вы не можете скрыть его содержимое, если вы зашифровать его:
Simplest way to encrypt a text file in java
В качестве альтернативы, если изменение требований является вариант, вы можете хранить хэш вместо пароля:
В общем ** не шифруют пароли **, что небезопасно. Кроме того, как вы будете защищать пароль шифрования? – zaph
код выглядит следующим образом:
public class mjm {
public static void main(String[] args) {
String k="[email protected]#abcd1234";
//xyz.gmail.com is id and abcd1234 passward
//encrypting passward starts here
char[] b=k.toCharArray();
System.out.println(k);
for(int a=0;a<b.length;a++)
{
int c=(int)(b[a]);
c=c^31;
b[a]=(char)c;
}
k=new String(b);
System.out.println(k);
//decryption code of above encrypted code is as follow
b=k.toCharArray();
for(int a=0;a<b.length;a++)
{
int c=(int)(b[a]);
c=c^31;
b[a]=(char)c;
}
k=new String(b);
System.out.println(k);
}
}
Вы должны шифровать и дешифровать с таким же номером 31. Идентификатор [email protected] и пароль abcd1234 (оба разделенных #
).
Первый цикл for
- зашифровать их в текстовый файл, который не читается. Второй цикл for
- это дешифрование зашифрованного кода до нормального. Вам просто нужно запомнить фактор XOR, который равен 31.
** Не шифруйте пароли **, когда злоумышленник получает БД, он также получит ключ шифрования. Далее этот алгоритм ужасно защищен! См. Комментарий к @Zek. – zaph
Для паролей я настоятельно рекомендую искать хеш-функции, такие как MD5, SHA-1, SHA-256, SHA-512, xxHash и т. Д. Вместо шифрования.
Если вы действительно хотите использовать шифрование, вы можете попробовать AES. (https://en.wikipedia.org/wiki/Advanced_Encryption_Standard)
Пример AES Java-код: https://gist.github.com/bricef/2436364#file-aes-java
Просто использовать хеш-функцию недостаточно, и просто добавление соли делает мало для улучшения безопасности. Вместо этого перейдите по HMAC со случайной солью в течение приблизительно 100 мс и сохраните соль с хешем. Используйте такие функции, как password_hash, PBKDF2, Bcrypt и аналогичные функции. Дело в том, чтобы заставить злоумышленника потратить много времени на поиск паролей грубой силой. – zaph
- 1. Скрыть пароль с помощью «••••••» в текстовом поле
- 2. Необходимо обновить новый пароль в текстовом файле
- 3. Как скрыть пароль в конфигурационном файле Camel
- 4. Подключение iSeries скрыть пароль
- 5. Как скрыть пароль базы данных в файле конфигурации
- 6. Как скрыть символ пароля в текстовом поле
- 7. Найти пароль в файле
- 8. Чтение в текстовом файле
- 9. Списки в текстовом файле
- 10. Looping в текстовом файле
- 11. «смотреть» в текстовом файле
- 12. энтропии в текстовом файле
- 13. Сохранить Sql Recordset в текстовом текстовом файле?
- 14. Скрыть мой пароль базы данных
- 15. Как скрыть пароль в подсказке phonegap
- 16. Mongoose скрыть пароль в URI
- 17. Как скрыть пароль в протоколирования
- 18. Как скрыть пароль в python
- 19. Android Скрыть пароль
- 20. Как скрыть пароль в файлах конфигурации
- 21. Скрыть пароль через html
- 22. Python: Скрыть пароль
- 23. Поиск ключевого слова в текстовом файле
- 24. Скрыть пароль в запросе маркера Oauth2 URL
- 25. CakePHP: Шифровать пароль в файле конфигурации
- 26. Скрыть значение в текстовом поле
- 27. Как отредактировать запись в текстовом файле java?
- 28. перезапись слова в текстовом файле с питоном
- 29. VB.NET Чтение Определенный текст в текстовом файле
- 30. Скрыть ввод клавиатуры в пакетном файле
* если я открыть этот текстовый файл пароль не может быть прочитан * Если вы не можете прочитать его, вы не можете использовать его - так ** должен быть удобочитаемым. Надеюсь, вы не думаете, что имя пользователя и пароль, которые вы вставляете в такой файл, будут храниться в секрете. Даже если вы зашифруете файл, ваша программа имеет в нем ключ дешифрования. И любой, у кого есть соответствующие разрешения - например, человек, выполняющий этот процесс, имеет доступ к памяти процесса и может получить имя пользователя и пароль. –
Дополнительная информация о пользе, это на каждого пользователя, на пользовательском устройстве, на сервере? Как используется пароль и с какой целью. Кто является злоумышленником и какое значение ($$) защищено? – zaph
Как уже сказал zaph, вы должны написать, действительно ли вам нужно восстановить пароль (например, отправить его другой службе), или если это необходимо только для аутентификации. В последнем случае вы можете сохранить только _hash_ пароля (BCrypt, SCrypt, PBKDF2) и проверить введенный пароль с помощью этого хэша. – martinstoeckli