老大给我的系统提了个要求,有一个表存放的是一些敏感数据,涉及到金额,他说把每条数据都产生一个HASH值,md5值,只有在界面中操作时才对这个值进行更新,这样如果是通过数据库非法修改数据库,对比一下就知道了,想了半天是在没什么思路,各位谁做过这样的东西?指教一下谢谢!

解决方案 »

  1.   

    记录的数据生成一条MD5,并保存,在校验数据是否合法的时候再读取记录并生成一条MD5,与先前的MD5 对比就行了。
      

  2.   

    增改记录时,update正常金额的时候,程序还同时update hash字段=md5(所有金额)
      

  3.   

    我觉得这样也没什么安全性,如果通过本记录生产hash字段,手工修改了数据再手工修改一下hash字段啊
      

  4.   

    hash算法可以是自己独家实现的嘛,没强迫你必须使用标准的md5或crc32吧
      

  5.   

    生成md5码的时候做些手脚呀,每条记录生成md5码的时候不要直接生成,可以在这个记录后加个其他字符串然后再生成,这样的话,只要这个字符串别人不知道就没法修改了。
      

  6.   

    比如 记录内容+id+固定字符串 生成个md5码,这样的话任何非程序本身的修改都能看出来。