Я работаю над программой, которая создает файл «лицензии».Предполагается, что этот файл будет двоичным и содержит имя, сегодняшнюю дату, дату предупреждения, дату истечения срока действия и предпочтение в метрических или имперских единицах измерения, и по существу разрешает программам работать до тех пор, пока не будет достигнута дата истечения срока, до которойДата предупреждения уведомляет пользователя о том, что срок действия лицензии истекает.Для того чтобы эта функция была полностью использована, даты не должны быть легко отредактированы, чтобы люди не могли устанавливать дату на то, что они хотят, и сохранять программу.
То, что я сейчас пишу, из каждого поля пишетString или Integer во все, что считает класс BinaryWriter, должны быть записаны, когда я использую его метод write.Я экспериментировал с разницей между кодировкой Big и Little Endian, которую можно выбрать в форме.
[код отредактирован]
Если во введенном имени нет пробелов, файл выглядит немногонечитабельно, но недостаточно.С Big Endian большая часть даты истечения срока действия все еще отображается;с Little Endian, две другие даты в основном видны.Однако использование пробелов во введенном имени довольно сильно изменяет формат выводимого текста, делая все символы уменьшенными пробелом, и, следовательно, невероятно легкими для изменения.Мои извинения за то, что я не могу показать вам, как выглядят файлы.
Есть ли лучший / более приемлемый способ хранения этих данных?Я хотел бы, чтобы файлы лицензий работали с существующими программами на Фортране, из которых я прочитал неформатированные файлы в общей структуре, которую я подробно описал, но обратное проектирование кажется немного сложным из того, что я прочитал, и мой работодатель предложил переписатьФайлы FORTRAN для принятия этой новой программы создания лицензии, если это необходимо.