2012-05-01 9 views
0

私は後でアプリケーションにスキャンできる暗号化されたデータが印刷されたページを生成する必要があります。バーコードによく似ていますが、暗号化されています。暗号化されたデータを印刷または視覚的に表現する

暗号化されるテキストの量は1KBから10KBの間ですが、今後増加する可能性があります。 1MBを超える可能性はほとんどありません。

私はドキュメント処理システムを開発していますので、印刷のDOSとドンを理解しています。スキャンは通常、そこで質問があるなど

ゆがみ、回転、アーティファクト、として印刷されたページにプロパティを追加します。

  • 視覚的にこのデータ量を表すために最適な形式は何ですか?私が想定しているバーコードではありません。
  • フォーマットを問わず、データを単一のA4ページに収めたいので、不動産は非常に重要です。私は、コードテーブル圧縮でBase64エンコーディングが候補になると思っていますか?何かご意見は。

EDIT:バーコードだけが実行可能な解決策であるようです。データは本質的には一連の数字であるため、ベース10を使用して、暗号化する前にコード/インデックステーブルに圧縮します。または、より高い基地をここで賢明に使うのか?

+1

特定のプログラミングに関する質問があります。 – asawyer

+0

10KBのデータを視覚的にエンコードするためのバーコードの代替品。 –

+0

A4ページには、約870万ビットの情報を余白なしで300 dpiで保存できます。理論的には、圧縮せずにページごとにメガバイトを得ることができます。すべての面で1/2インチのマージンを与え、あなたは約780万ビットを持っています。これは約955キロバイトの情報で、プリンタとスキャナは300 dpiで確実に動作すると仮定しています。 –

答えて

0

あなたのデータを取得し、暗号化してBase64エンコーダで実行するC#プログラムを作成することをお勧めします。それから私はBase64データを取り、データからQRコードビットマップを作成します。私はビットマップを縮小してページにたくさん収まるようにして、それらのQRコードのページを印刷します。後でそれらをスキャンし、各コードを拡大してからデータを読み込むことができます。最後に、Base64でデコードしてから解読する必要があります。

+0

ありがとうございます。ほとんどの回答は同じ方向を指していますが、私は最初のものを公正なものに選んでいます。 –

0

アプリケーションはオンラインですか?もしそうなら、サーバに安全にデータを格納することを考えてください。そして、ページ上でアクセストークン(または単純にWeb参照)をQR codeの形式で印刷しますか?トークンをスキャンすると、アプリはサーバーから実際のデータを取得できます。

EDIT
上記はあなたのより高い信頼性と拡張性を与えるだろうが、あなたはまだページ上で直接QRコードのデータを格納することができます。英数字スペース(using Base64 encoding)に暗号化して一連のQRコードとして保存するだけで済みます。 each can store around 3KBなので、ページが壊れていない限り、ページ上に多くのデータが得られます。

+0

いいえ、このソリューションはオフラインモードのデスクトップアプリ用です。おそらく、バーコードが出て行く必要があります。 –

0

High-Capacity Color Barcodesは、印刷されたページにデータをエンコードするために色付きの「バー」(通常は三角形)を使用する2Dマトリックスコードです。ウィキペディアの記事では、1平方インチあたり3kBを保管できると述べています。

明らかに、これらはカラー印刷およびスキャニングハードウェアを必要とします。

+0

Hmmm ...はい、特定のシナリオでは良いオプションですが、印刷やスキャンが関係している場合、特に機器を制御できない場合には適していません。 –

0

これをインターネットやネットワークアクセスから完全にオフラインで実行する必要がない限り、テキストを暗号化し、暗号化をハッシュし、ハッシュをQRコードに格納することをおすすめします。 64ビットまたは128ビットのハッシュを格納するための2次元バーまたはQRコードを取得することは、簡単で十分であり、スキャンのために十分信頼できるものでなければなりません。市販のQRスキャナまたはソフトウェアを使用すると、スキャンが容易になります。

印刷とスキャンの間に共通サーバーにアクセスできない場合は、2dバーコードだけが唯一のオプションです。必要な情報密度はありません。それをRFIDやミニCDに保存する方が良いでしょう。

関連する問題