2

私は何かを理解しようとしています。レガシー システムを導入していますが、そのすべてを使用しているわけではありません。このように使用するビジネス上の理由があります。

システム内の一部のフィールドは、最終的に置き換えたいミドルウェアによって暗号化されます。値を適切に解読できないため、システムのこの部分を置き換えることはできません。

たとえば、次の単語を含むフィールドがあります。

フェレット

これは暗号化され、次のようになります。

^ADFJBLFOHLOJFNHHKFJLHFJNPCJFJCPFBAPEKDKM

言葉

ウェリントンブーツ

になる

^KOKFDEJPAAPFJHPOIGOICOAHKFLNFHMIOJNHAAHF

暗号化されていないデータと結果の暗号化されたデータを確認できますが、フィールド値を暗号化されたバージョンに変換するために使用されたアルゴリズムを見つけようとしています。これの主な理由は、暗号化されたデータを含むフィールドの数を大幅に増やす必要があるためですが、暗号化に使用されたものがわからないため、既存の暗号化メカニズムを置き換えることができないため、現時点ではできません。データ。

システム内のデータが多すぎて、各レコードを調べてロードし、暗号化されていないデータを書き留めておけば、新しい暗号化メカニズムを作成できます。

既存のデータがどのように暗号化されているかを知っていれば、同じ方法を使用して新しいフィールドを暗号化できます。システムは特定のフィールドのみを暗号化し、システムへの拡張機能は同じ方法を使用して他のフィールドを暗号化する必要があります。

これどうやってするの?データがどのように暗号化され、どのような方法が使用されたかを知ることさえ可能ですか?

4

1 に答える 1

5

これは SHA1 であり、0 の場合は A、1 の場合は B、2 の場合は C などに変換されます。たとえば、「ウェリントン ブーツ」の例では、「aea5349f00f...」の SHA1 ハッシュがあり、これは明らかに「KOKFDEJPAAP...」です。

したがって、SHA1 を使用して同じ変換を行うだけで、パターンを継続できます。

これを確認するには、「テスト フレーズ」というフレーズを試してください。この SHA1 は「ab8f37d89b1154ba18c78a7e4b8eef2acdfec1eb」であり、システムでは「KLIPDHNIJL...」になります。

于 2013-06-12T17:40:09.650 に答える