1

PHPでPNGファイルの内容(ヘッダーではない)を暗号化したいです。

暗号化 (RSA) 後、IDAT チャンク (ピクセルに関する情報を含む) のサイズが変更されます。そこで、これらのバイナリ データ (チャンクの長さ、チャンク全体、チェックサム) を手動で変更することを考えました。幅、高さ、色深度などの特定の情報は同じままです (暗号化されません)。

私のためにヘッダー全体を作成し、コンテンツとしてバイナリデータを挿入できるようにする機能があるかどうか(チェックサムをカウントして、画像が適切に表示されるようにする)、または自分で行う必要があるかどうか疑問に思っていますか?

4

1 に答える 1

1

最近、C++で同様のことをしました。IDATを変更する代わりに、圧縮および暗号化されたイメージ(とにかくアプリケーション固有の暗号化)を使用してカスタムチャンク(xRSAなどの名前)を追加しました。

サードパーティのライブラリを使用して、最初に画像(この画像が暗号化されていることを示す灰色の背景とテキスト)をPNGで保存することができました。次に、このファイルにカスタムチャンクを追加しました( IENDチャンクを念頭に置いて)。

PHPでこの方法に従うと、 imagecreatetruecolor() (GD一般)を使用して背景(正確には灰色ではないが、より涼しく見えるノイズ)を生成し、元の暗号化された画像をカスタムチャンクに追加できます。

私の英語で申し訳ありませんが、私は助けてくれることを願っています。

于 2012-05-29T12:46:16.703 に答える