RSAアルゴリズムを使用して画像(特定の選択)を暗号化および復号化できるアプリケーションで作業していますが、すべて正常ですが、一部のピクセルは異常に動作しています。なぜ!私は同じパラメータを使用してイメージを暗号化/復号化して保存しますが、新しいイメージを作成して、暗号化ゾーンのピクセルを読み込もうとすると、私のプログラムで以前に見たピクセルは取得できません。暗号化と復号化rsa sur une image utilisant java netbeans
:私の仕事を保存するpublic void printPixelARGB(int pixel,int i , int j) {
r[i][j] = (pixel >> 16) & 0xff; // original values
rr[i][j] = RSA_crypt_decrypt(r[i][j], appel);//values after treatment
g[i][j] = (pixel >> 8) & 0xff;
gg[i][j] = RSA_crypt_decrypt(g[i][j], appel);
b[i][j] = (pixel) & 0xff;
bb[i][j] = RSA_crypt_decrypt(b[i][j], appel);
rgb = rr[i][j];// new values on rgb to be set in bf2
rgb = (rgb << 8) + gg[i][j];
rgb = (rgb << 8) + bb[i][j];
}
、最後に:私は
private void marchdanslImage(BufferedImage image , Rectangle REC) throws IOException {
bf2 = new BufferedImage(REC.width, REC.height, BufferedImage.TYPE_INT_RGB); //this image gonna contain the pixels after encryption
for (int i = y; i < h; i++) {
for (int j = x; j < w; j++) {
int pixel = image.getRGB(j, i);//orginal values
printPixelARGB(pixel,j,i); //here i call the code to crypt or decrypt
bf2.setRGB(j-x,i-y, rgb); //new values
} }
}
前に機能printPixelARGBのコードを呼び出した///////機能
File img = new File (Path);
bf1 = ImageIO.read(img);
marchdanslImage(bf1,captureRect); // only selected rectangle (captureRect) from image will be treated
public void save_image()
{
Graphics2D g;
g = (Graphics2D) bf1.getGraphics();
g.drawImage(bf2, captureRect.x, captureRect.y, captureRect.width, captureRect.height, null);
g.dispose();
//i draw the crypted pixels on my original image and create new image
File outputFile = new File("C:/USERS/HP/DesKtop/output.jpg");
try {
ImageIO.write(bf1, "jpg", outputFile);
} catch (IOException ex) {
Logger.getLogger(MenuGenerale2.class.getName()).log(Level.SEVERE, null, ex);
}
}
これまでのところすべてが機能しています.b私が作成した画像を開いて復号化しようとすると、私が得た値は治療後も同じではありません!
節約部分ですか?私が白いイメージでそれを試すと、正しく動作しませんが、別のイメージではまったく動作しません! 3週間はこの問題を解決できませんでした...本当に本当に助けが必要です。ここで
は自分のアプリケーションのリンクです: www.fichier-rar.fr/2016/04/23/cryptagersa11/
を達成するために何をしたいの反対である疑いがあなたが、ステガノグラフィを調査する場合がありますがアンドリューありがとう。 –