2012-05-01 27 views
0

我有一個場景,需要我生成加密數據的打印頁面,稍後可以將其掃描到我們的應用程序中。很像條形碼,但加密。打印或直觀地表示加密數據

要加密的文本量在1KB到10KB之間,但未來可能會增加。最有可能不超過1MB。

我開發文檔處理系統,所以我瞭解打印的dos和donts。掃描通常將屬性添加到印刷頁諸如偏斜,旋轉,工件等

所以,問題是:

  • 什麼是表示目視該數據量的最佳格式?不是我假設的條形碼。
  • 無論格式如何,房地產是至關重要的,因爲我們想要將數據壓縮到一個A4頁面。我在考慮使用代碼表壓縮的Base64編碼可能成爲候選人?有什麼想法嗎。

編輯:它看起來像條形碼是唯一可行的方案。數據本質上是一系列數字,所以我可以使用base 10,然後在加密之前將它們壓縮到代碼/索引表。或者會使用更高的基地在這裏更聰明?

+1

問一個具體的編程問題。 – asawyer

+0

用於視覺編碼10KB數據的條形碼替代品。 –

+0

A4頁面可以容納大約870萬位信息,無邊距,分辨率爲300 dpi。所以理論上你可以在不壓縮的情況下獲得每頁的兆字節。給所有方面一個1/2英寸的邊距,你有大約780萬位。假設您的打印機和掃描儀可以以300 dpi的分辨率可靠工作,那大概有955千字節的信息。 –

回答

0

我的建議是製作一個C#程序,它將您的數據加密,然後通過Base64編碼器運行。然後,我將採用Base64數據並從數據創建QR碼位圖。然後,我會縮小位圖,以便可以適合頁面上的許多內容,然後打印這些QR代碼的頁面。稍後,您可以掃描它們,放大每個代碼,然後讀取數據。最後,你必須對Base64進行解碼,然後解密它!

+0

謝謝。雖然大部分答案指向同一方向,但我選擇最早的一個是公平的。 –

0

該應用程序是否在線?如果是這樣,你是否考慮過在服務器中安全地存儲數據(如果你真的想這樣加密的話),並且在你的頁面上打印一個QR code形式的訪問令牌(或簡單的web引用)?掃描令牌後,您的應用程序可以從服務器檢索實際數據。

編輯
雖然上述會給你更高的可靠性和可擴展性,你仍然可以在QR碼中的數據直接存儲在頁面上。您只需要加密到字母數字空格(using Base64 encoding)並將其存儲爲一系列QR碼; each can store around 3KB,所以你會在頁面上獲得大量的數據(只要頁面沒有損壞)。

+0

不,該解決方案適用於處於離線模式的桌面應用程序。條形碼可能必須成爲出路。 –

0

High-Capacity Color Barcodes是使用彩色「條」(通常是三角形)對打印頁面上的數據進行編碼的二維矩陣代碼。維基百科文章說,他們可以存儲每平方英寸3kB。

顯然這些都需要彩色打印和掃描硬件。

+0

嗯......對於某些情況,這是一個很好的選擇,但是在涉及打印和掃描時,特別是當您無法控制設備時,則不是。 –

0

除非您需要能夠從任何互聯網或網絡訪問完全脫機運行,否則我會建議加密文本,哈希加密並將散列存儲在QR碼中。獲得一個二維條或二維碼來存儲一個64或128位散列應該很容易,足夠可靠的掃描(因爲這是他們的設計)。商業QR掃描儀或軟件可以使掃描變得簡單。

如果您無法在打印和掃描之間訪問公用服務器,那麼2d條形碼是您唯一真正的選擇,並且不具備您想要的信息密度。您將有更好的機會將其存儲在RFID或迷你CD上。