应该用md5, 或者crc 算法,算出验证码。 验证文件是否发生变更!

解决方案 »

  1.   

    为Image生成MD5?能保证相同的Image(包括名称或路径不同的哦)生成的是唯一的么?
      

  2.   

    做MD5或者SHA-1的Hash就可以办到。
    现在Microsoft发行光盘镜像为了防止被篡改,就会公布一个文件的Hash,相当于文件指纹。
    但是这种唯一不是绝对意义上的唯一,但是确实是现实生活中的唯一,前提是碰撞算法没有被发现。根据信息论,如果要构造真正意义上的唯一,编码的长度会很长。
      

  3.   

    CRC严重不行。不要误导初学者。CRC的碰撞概率极高。
      

  4.   

      byte[] imgScanDocBytes = new byte[0];
                int iImgSize = 0;            if (File.Exists(PathFile))
                {
                    try
                    {
                        FileStream objStream = File.Open(PathFile, FileMode.Open, FileAccess.Read);
                        imgScanDocBytes = new byte[objStream.Length];
                        iImgSize = objStream.Read(imgScanDocBytes, 0, (int)objStream.Length);
                        objStream.Close();
                    }
                    catch
                    {
                        MessageBox.Show("读取文件时出错!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        return -1;
                    }
                }
                else
                {
                    MessageBox.Show("没有选择文件或所选文件不存在!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return -1;            }
                string sMd5Code = String.Empty;         
                 System.Security.Cryptography.HashAlgorithm algorithm = System.Security.Cryptography.MD5.Create();
                  sMd5Code = ClsMd5Check.ByteArrayToHexString(algorithm.ComputeHash(imgScanDocBytes));
                
      

  5.   

    只要图片的数据信息相同就可以,比如:我现在有张C:\c.bmp,然后我将它复制到D盘下,并修改了名称为:d.bmp,并未对图片数据信息做任何修改(比如修改图片明、暗、对比度属性等)我希望这两张图片所得到的GUID是相同的    MD5可以么?
      

  6.   

    但是要明白2点:
    (1)MD5摘要和GUID格式略有不同
    (2)MD5摘要并非严格意义上的唯一。存在2个文件内容不同,但是摘要相同的可能性,虽然自然情况下绝对不可能发生,但是实验室条件下精心构造是有可能的。
      

  7.   

    11楼的程序从网上copy的吧  不全吧?