程序启动时,各个参数缺省值从配置文件读取。在配置文件的最后增加一Hash值,该值由配置文件的各个参数计算得到,用于验证完整性,避免随意更改该文件。
怎么做?

解决方案 »

  1.   

    问题是你的hash值要怎么计算呀,你可以自订一个hash算法。下面这个是String的hashCode的算法。    public int hashCode() {
    int h = hash;
    if (h == 0) {
        int off = offset;
        char val[] = value;
        int len = count;            for (int i = 0; i < len; i++) {
                    h = 31*h + val[off++];
                }
                hash = h;
            }
            return h;
        }
      

  2.   

    把所有参数的名称和值全部串起来合并成一个字符串,然后直接用该字符串的hash值就好了。
      

  3.   

    比如有这样一些参数:student=li
    number=2012具体怎么做?
      

  4.   

    如果配置文件内容是:
    student=li
    number=2012
    那么,字符串是:
    String content = "studentlinumber2012";
    最后的hash值是:
    int hash = content.hashCode();
      

  5.   

    为什么一定要hash呢,把所有字符加起来md5一下也可以,位数也只有16位或32位
      

  6.   

    hash的存在为了加快检索能力吧。
      

  7.   

    楼主只要要避免随意更改配置文件啦...    这个不用hash值..   你直接算文件的MD5就可以啦.. 
    算出来的MD5保存下来, 下次读文件的时候验证一下, 就可以了.