0

我有一个场景需要我生成一个带有加密数据的打印页面,以后可以将其扫描到我们的应用程序中。很像条形码,但已加密。

要加密的文本量将在 1KB 到 10KB 之间,但将来可能会增加。很可能不超过 1MB。

我开发文档处理系统,因此我了解打印的注意事项。扫描通常会为打印页面添加属性,例如倾斜、旋转、伪影等。

所以问题是:

  • 直观地表示这些数据量的最佳格式是什么?不是我假设的条形码。
  • 无论格式如何,空间都是至关重要的,因为我们希望将数据压缩到单个 A4 页面中。我在想带有代码表压缩的 Base64 编码可能是一个候选者?有什么想法吗。

编辑:似乎条形码是唯一可行的解​​决方案。数据本质上是一系列数字,因此我可以使用以 10 为底的数字,然后在加密之前将它们压缩到代码/索引表中。或者在这里使用更高的基数会更明智?

4

4 回答 4

0

申请是否在线?如果是这样,您是否考虑过将数据安全地存储在服务器中(如果您真的需要加密),并在您的页面上以QR 码的形式打印访问令牌(或简单的网络参考) ?扫描令牌后,您的应用程序可以从服务器检索实际数据。

编辑
虽然上述内容将为您提供更高的可靠性和可扩展性,但您仍然可以将数据直接存储在页面上的二维码中。您只需要加密到字母数字空间(使用 Base64 编码)并将其存储为一系列 QR 码;每个可以存储大约 3KB,因此您会在页面上获得大量数据(只要页面没有损坏)。

于 2012-05-01T21:19:15.510 回答
0

我的建议是制作一个 C# 程序来获取您的数据,对其进行加密,然后通过 Base64 编码器运行它。然后我将获取 Base64 数据并从数据中创建 QR 码位图。然后我会缩小位图,这样你就可以在页面上放很多东西,然后我会打印这些二维码的页面。稍后您可以扫描它们,放大每个代码,然后读入数据。最后,你必须对它进行 Base64 解码,然后再解密!

于 2012-05-01T22:31:54.890 回答
0

大容量彩色条码是二维矩阵码,它使用彩色“条”(通常是三角形)对打印页面上的数据进行编码。维基百科的文章说他们每平方英寸可以存储 3kB。

显然,这些需要彩色打印和扫描硬件。

于 2012-05-01T23:43:05.457 回答
0

除非您需要能够从任何 Internet 或网络访问完全脱机运行,否则我建议对文本进行加密,对加密进行散列并将散列存储在 QR 码中。获取 2d 条或 QR 码来存储 64 或 128 位散列应该足够容易,并且足够可靠以进行扫描(因为这就是它们的设计目的)。可以使用商业 QR 扫描仪或软件使扫描变得容易。

如果您无法在打印和扫描之间访问公共服务器,那么二维条码是您唯一真正的选择,并且不会具有您想要的信息密度。您将有更好的机会将其存储在 RFID 或迷你 CD 上。

于 2012-05-02T08:48:40.387 回答