Почему char [] предпочитает использовать String для хранения пароля в Java

Поскольку строки являются неизменными, невозможно изменить содержимое строк, поскольку любое изменение приведет к созданию новой строки. Когда вы создаете объект String и позже решаете изменить пароль, вы не можете удалить строку. Вы можете сделать строку, пригодную для сбора мусора. Поскольку String используются в String-пуле для повторного использования, существует довольно высокая вероятность того, что он останется в памяти надолго, что создает угрозу безопасности.

С помощью char [] вы можете явно стереть данные после того, как вы закончите с ним. Вы можете переписать массив всем, что угодно, и пароль не будет присутствовать нигде в системе, даже до сбора мусора.

С помощью char [] вы можете явно стереть данные после того, как вы закончите с ним. Вы можете переписать массив всем, что угодно, и пароль не будет присутствовать нигде в системе, даже до сбора мусора....

Почему String неизменна в Java?

Термин Mutable означает «может измениться», а неизменяемые средства «не могут измениться». Неизменяемый объект означает, что состояние объекта не может измениться после его создания. Здесь String неизменен, означает, что вы не можете изменить сам объект, но вы можете изменить ссылку на объект.

Термин Mutable означает «может измениться», а неизменяемые средства «не могут измениться». Неизменяемый объект означает, что состояние объекта не может измениться после его создания. Здесь String неизменен, означает, что вы не можете изменить сам объект, но вы можете изменить ссылку на объект....

Источник: http://net-informations.com/Java/cJava/char.htm

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Adblock
detector