【发布时间】:2011-05-25 20:45:09
【问题描述】:
我正在开发一个创建“许可证”文件的程序。该文件应该是二进制文件,包含名称、今天的日期、警告日期、到期日期以及公制或英制测量单位的偏好,并且基本上授权程序在到期日期之前工作,在此之前警告日期通知用户许可证将到期。要充分利用此功能,日期必须不能轻易编辑,以防止人们将日期设置为他们想要的任何日期并保留程序。
我现在将 String 或 Integer 中的每个字段写入 BinaryWriter 类在我使用其“write”方法时认为应该写入的任何内容中。我一直在试验Big Endian和Little Endian编码的区别,可以在表单中选择。
[代码编辑]
如果输入的名称没有空格,文件看起来有点不可读,但还不够。使用 Big Endian,大部分 Expiration Date 仍在显示;对于 Little Endian,其他两个日期大多可见。但是,在输入的名称中使用空格会极大地改变输出文本的格式,使所有字符都由空格分隔,因此非常容易更改。抱歉,我无法真正向您展示这些文件的样子。
是否有更好/更被接受的方式来存储这些数据?我希望许可证文件可以与现有的 FORTRAN 程序一起使用,其中读取我详细介绍的一般结构中的未格式化文件,但是从我所读到的内容进行逆向工程听起来有点困难,而且我的雇主已提议重写FORTRAN 文件以在需要时接受这个新的许可证创建程序。
【问题讨论】: