当我想保护通用数据块以将这些原则应用于通用应用程序的分发时,我正在考虑各种选项。
还有哪些其他选择?我知道这不会以最终的解决方案结束,但至少我想避免用户只需通过简单的复制和粘贴来重新分发我的应用程序,并且我希望在软件分发系统上至少有一个优势。
答案 0 :(得分:1)
通常的做法是使用用户系统上已有的一些信息作为密钥来加密数据;然后将数据键入该系统。例如,在Mac OS X上,您可以通过库调用获取系统序列号。 Sun系统有一个gethostid()库调用,这使得这很简单。一个适用于哑系统 cough Winders cough 的替代方法是使用以太网接口的MAC地址,或类似的东西。
这可能很棘手,你通常必须写一个小程序,它会在系统中徘徊并生成一个密钥,然后让客户通过电子邮件发送这个密钥给你,或者至少确定该程序通过电子邮件将密钥发送给你您。然后,您可以使用您获得的密钥信息加密受保护的数据,并让客户下载它。如果数据blob的大小合理,则可以将整个事务添加到应用程序安装程序。