[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-java-core-pochemu-char-predpochtitelnee-string-dlya-khraneniya-parolya":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":18,"progress":19,"seo":20},67,"pochemu-char-predpochtitelnee-string-dlya-khraneniya-parolya",2,"java-core","Java Core","☕","Почему `char[]` предпочтительнее `String` для хранения пароля?","С момента создания строка остаётся в пуле, до тех пор, пока не будет удалена сборщиком мусора. Поэтому, даже после окончания использования пароля, он некоторое время продолжает оставаться доступным в памяти и способа избежать этого не существует. Это представляет определённый риск для безопасности, поскольку кто-либо, имеющий доступ к памяти сможет найти пароль в виде текста.\nВ случае использования массива символов для хранения пароля имеется возможность очистить его сразу по окончанию работы с паролем, позволяя избежать риска безопасности, свойственного строке.","","middle",[15,16,17],"core","security","string",[],null,{"title":21,"description":22,"ogTitle":21,"ogDescription":23,"keywords":24,"schemaAnswer":32,"featuredSnippetReady":33},"Почему char[] лучше String для хранения пароля в Java — Gymterview","Почему массив char[] предпочтительнее String для хранения пароля в Java: возможность очистки памяти, риски пула строк и безопасность.","Строка остаётся в пуле до сборки мусора. Массив char[] можно очистить сразу после использования, исключив утечку пароля.",[25,26,27,28,29,30,16,31],"char массив","String","пароль","безопасность","Java","пул строк","хранение пароля","Строка после создания остаётся в пуле до удаления сборщиком мусора, и всё это время пароль доступен в памяти в виде текста. Массив char[] можно явно очистить (заполнить нулями) сразу после использования пароля, что устраняет риск утечки через доступ к памяти.",true]