这不是一个真正的答案,但是“关于你的主题的讨论”太长了,不能作为评论,我宁愿通过写一个“非答案答案”来打破规则(尤其是现在你已经接受了另一个答案)而不是写6条评论。
首先,如果它是用 C++ 编写的,那么它就不是真正可移植的,因为您可以随身携带并将其插入您喜欢的任何地方并访问 if 规范,因为不同的系统将具有不同的操作系统和处理器架构。如果您限制使用 x86 在 Windows 和 Linux 上“插入”,那很好——您只需要构建两个代码副本。但涵盖更多架构——例如能够插入 iPad 或 MacBook 将需要两个以上的软件版本。很快你就会看到很多代码要随身携带(别介意你需要相关的 C++ 编译器和开发环境来构建原始副本)。是的,C++ 是一种可移植语言,但这并不意味着可执行文件将“适用于任何东西”
当然,这里的一种解决方案可能是使用 C++ 以外的其他东西——例如 Java,它只需要目标系统上的 Java VM——它通常已经在客户系统上可用,所以问题不大。但这不适用于例如 ipad。
另一种解决方案是在家中拥有自己的网络服务器,然后从客户站点连接到您的服务器。这样一来,任何信息(除了您实际向客户展示的部分)都不会离开您的房子。通过研究互联网/网站安全性并使用良好的密码来确保它的安全[当然,您甚至可以将其设置为仅在您需要的特定时间可用,而不是 24/7 可用]。当然,如果信息确实是绝密的(核武器、犯罪活动等),您可能不想这样做,因为害怕有人在您不想被访问时访问它。但是,如果它受到登录名和密码的良好保护,它也不太可能“从你的口袋里掉出来”。
加密数据并不难——只需下载相关库,然后从那里开始——crypt++ 就是其中之一。
如果您将其存储在数据库中,您将需要一个自行加密的数据库,或者一种避免“泄漏”明文信息的非常好的方法(例如,将文件存储在 linux 机器上的 /tmp 上),或者更糟,您需要先解密整个数据库,然后才能访问它 - 这意味着至少在理论上,某些东西可能会“破坏”您的整个数据库。
根据您的项目的保密程度,您可能还需要考虑输入密码将被您正在使用的计算机读取 - 除非您也带上自己的计算机 [在这种情况下,有一些非常好的“加密我的整个磁盘”软件几乎可以使用]。
此外,如果有人说“我可以将我的记忆棒插入你的计算机并从中运行一些我的记忆棒吗”,我不确定我是否会让那个人这样做。
换句话说,您编写代码本身的技术挑战可能不是您项目中最难破解的难题——尽管有趣且具有挑战性。