从图像的加密数据字节中获取失真/加密图像

时间:2014-02-13 15:09:44

标签: c# encryption

我使用Simplified DES加密了图像文件(.jpeg / .png)的数据字节。但加密后,图像文件无法重新转换为图像,因为它丢失了原始文件结构。有什么方法可以使用这些加密数据字节转换为图像文件?以下是我的C#代码的一瞥:

        Console.WriteLine("Please enter the RGB/GRAY/BINARY image path: ");
        string path = Console.ReadLine();
        byte []arrayPT = Conversion.Convert.ImageToBinary(path); // Get the binary data             
        byte []arrayCT = new byte[arrayPT.Length];
        int i = 0;
        foreach (byte element in arrayPT)
        {
            arrayCT[i] = ob.Encrypt(element); 
        /* I want to use the contents of the arrayCT[] and convert to an image */
            Console.Write("{0}", arrayCT[i]);
            i++;
        }

1 个答案:

答案 0 :(得分:0)

使用您当前的方法,您将加密图像标题以及内容,它将不再被视为图像。

如果您不需要隐藏它是图像或宽度×高度的事实,我将采取的方法如下:

  1. 将原始图像转换为Bitmap对象
  2. 这可以让您以字节数组(Bitmapdata)
  3. 访问解压缩的图像
  4. 加密字节数组
  5. 创建一个与原始
  6. 具有相同宽度和高度的新Bitmap对象
  7. 将加密的字节导入新的位图字节
  8. 将图像保存为与输入图像格式相同的新文件
  9. 检查Bitmapdata以获得有效处理图像字节的方法。