Теперь это вопрос, для которого я искал много мест, много кодировал, но все же очень смущен. Я новичок в Java, поэтому я написал эту программу, которая сохраняет данные объекта как сериализованный объект. Элементами данных являются две строки. Я прочитал, что когда объект сериализуется и сохраняется в файле, сохраняется состояние всего объекта. Правда. Затем данные также находятся в двоичной форме, которые не могут быть прочитаны людьми или обычными текстовыми редакторами. Поэтому, когда я сохранил объект с помощью writeObject, он успешно сохранил данные, но когда я открываю файл, он содержит много данных тарабарщины, причем строки разбросаны внутри. Если я посмотрю немного более внимательно, я смогу четко разобрать строки. Так что строки нит превращаются во что-то другое, как в случае цифр?Сериализация струны - возможно?
ответ
Так что строки нит превращаются во что-то другое, как в случае цифр?
Строки сериализованы по длине с префиксом модифицированного UTF-8, я считаю.
Хотя обычные сериализованные данные нелегко читаются людьми, это не следует рассматривать как какую-либо защиту от людей, которые хотят его прочитать. Формат сериализации хорошо документирован, и любой, кто знает, что это результат двоичной сериализации Java, скорее всего, сможет извлечь из него важные данные.
Если вам нужно сохранить данные в безопасности, вам нужна другая схема , а также в качестве сериализации. (Я бы также рекомендовал вам изучить другие варианты сериализации. Я не большой поклонник сериализации Java - он очень хрупкий. Сделать ваши данные обратно и вперед совместимыми с учетом изменений кода немного сложнее.)
Нет ограничений, что результат сериализации должен быть нечитаемым. Когда вы сериализуете строку, строка должна быть помещена в данные, возможно, просто поместите ее прямо там, вместе с ее длиной.
Сериализация не является самой компактной формой, поэтому не следует удивляться тому, что строка не была сжата каким-то образом перед добавлением в поток байтов.
Благодарим вас за ответ. Я получаю то, что вы и другие говорите. Если я пишу сериализованный объект, содержащий строки, то полагаться только на сериализацию, что он будет делать строковые данные, которые будут нечитабельны, будет глупостью. –
- 1. WCF возможно сериализация проблема, связанная
- 2. Возможно ли «смешанная» XML-сериализация в .net?
- 3. Извлечение струны
- 4. лопнувшей струны
- 5. Струны Generation
- 6. StD :: струны
- 7. Струны сравнение
- 8. Манипулирование Струны
- 9. сбоями Струны .... :(
- 10. Конкатенатные струны - удобная обертка?
- 11. C: Сравнение 2 Струны
- 12. Мутирование струны на Unmarshal
- 13. Применение утечки Струны?
- 14. Как сделать прядильщик из струны?
- 15. Как получить кусочек струны?
- 16. Нарезка струны, Поиск символа
- 17. Метод декомпрессионной струны
- 18. Извлечение струны из брекетов
- 19. Swift Weird Струны
- 20. рубин внутри тонкие струны
- 21. Извлечь часть струны
- 22. Извлечение струны в C
- 23. Принимая части струны
- 24. Неожиданные Струны просуммировать
- 25. Openshift: струны не удаляются
- 26. ActionScript3 - увеличения прообразом струны
- 27. множества проблем струны перестановки
- 28. рубин структура струны
- 29. Python словарь: Последовательные Струны
- 30. C программирования: Струны
Вы открываете файл с помощью readObject? или в текстовом редакторе? –
Почему имеет значение, что вы можете видеть строки в сериализованном файле данных? –
Вы задаёте вопрос, отличный от заголовка. Идти по вашему вопросу. Ответ: Да, можно сериализовать строку. И если вы действительно обеспокоены безопасностью вашей строки, которая сериализуется и сохраняется в файле, тогда лучше выбрать для шифрования .. –