1

Lockbox 2 Cipher テキストを LockBox 3 Cipher テキストに変換する方法はありますか? Delphi 2007 で構築されたアプリケーションを Delphi xe2 に移行しています。Delphi 2007 ではロックボックス 2 RSA 暗号化アルゴリズムを使用しており、Delphi xe2 でロックボックス 3 を使用して Unicode データをサポートする予定です。Xe2 は Unicode データをサポートするため、両者によって生成される暗号文は異なるため、問題に直面します。そこで、Lockbox 2 で生成された暗号文をどうにかして LockBox 3 に変換したいと考えています。

4

2 に答える 2

2

定義上、暗号文は認識できないため、基になる平文データが Ansi か Unicode かを簡単に判断する方法はありません。そのため、関連付けられた新しいプロパティを管理する必要がある可能性があります。

明らかに、アプリケーションのレイアウト、このデータの保存場所、およびクライアントのアップグレード方法によって異なりますが、保存された暗号文に関連付けられた何らかの新しいバージョン フラグが存在する可能性があります。たとえば、ローカル テーブルにある場合は、PlainTextVersion の新しい列を追加し、バージョンを何らかの値に設定して、暗号文が Unicode プレーンテキストから保存されたことを示します。暗号文を読み取り、この新しいフィールドが Unicdoe フラグと一致しない場合は、暗号文を復号化してアップグレードし、Unicode プレーンテキストを使用して暗号化し、暗号文を再保存して新しいフラグを設定します (または単に暗号文を延期します)。平文が変更されて更新が必要になるまで、バージョンをアップグレードしてください。)

または、可能であれば、現在のすべての暗号文を一度に自動アップグレードすることをお勧めします。

于 2012-03-23T04:33:33.980 に答える