小编Hit*_*wal的帖子

我正在阅读图像并进行更改.但这些变化并未得到拯救

我正在尝试实施隐写术.我正在读取一个图像"a.jpeg"并通过在偏移50开始的最低有效位改变其连续的7个字节来插入一个字节.这是成功完成的,因为当我打印字节时,最后一位被相应地改变.然后我把它保存为"ao.jpeg".但是当我从50读取字节值时,它们与我保存的那个不一样.这是我的代码

public static void main(String[] args) throws IOException {
        BufferedImage inputImage = ImageIO.read(new File("a.jpeg"));
        int offset=50;
        byte data = 7;
        byte[] image = get_byte_data(inputImage);//function converts bufferedimage to byte array
        //add data at end of each byte starting from offset
        System.out.println("bytes altered are :");
        for(int bit=7; bit>=0; --bit, ++offset)//for each bit of data
            {
            int b = (data >>> bit) & 1;
            image[offset] = (byte)((image[offset] & 0xFE) | b );
            String s1 = String.format("%8s", Integer.toBinaryString(image[offset] & 0xFF)).replace(' ', '0');
            System.out.println(s1);
            } …
Run Code Online (Sandbox Code Playgroud)

java arrays byte bufferedimage steganography

1
推荐指数
1
解决办法
571
查看次数

标签 统计

arrays ×1

bufferedimage ×1

byte ×1

java ×1

steganography ×1