if ((i % 2) == 0)
        {
            str2 = FormsAuthentication.HashPasswordForStoringInConfigFile(str2 + DateTime.Now.ToString("yyyy-MM"), "MD5");
        }
        else
        {
            str2 = FormsAuthentication.HashPasswordForStoringInConfigFile(str2 + DateTime.Today.Month.ToString(), "MD5");
        }

解决方案 »

  1.   


    //这里就一个时间格式化可以变下,其它不变HashPasswordForStoringInConfigFile方法内部不考虑,方法调用是一样的
    Date currentTime = new Date();
    SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM");
    String dateString = formatter.format(currentTime);   if ((i % 2) == 0) 
       { 
          str2 = FormsAuthentication.HashPasswordForStoringInConfigFile(str2 + dateString ,"MD5"); 
       } 
       else 
       { 
          str2 = FormsAuthentication.HashPasswordForStoringInConfigFile(str2 + currentTime.getMonth(),"MD5"); 
       }
      

  2.   

    给你个全的.......
          //为方便....定义
            int i = 4;
            String str2 = "";
            try
            {
                if ((i % 2) == 0)
                {
                    //取当前时间....
                    DateFormat dateFormat = new SimpleDateFormat("yyyy-MM");
                    Date date = new Date(System.currentTimeMillis());
                    //拼字符串
                    str2 = str2 + dateFormat.format(date);
                    //加密
                    MessageDigest md = MessageDigest.getInstance("MD5");
                    md.update(str2.getBytes());
                    byte[] tmp = md.digest();
                    //加密后,字符串化.......下面这一步,是不太确定的,可能还和编码有关...最好测试一下,另外,注意生产的hash串,有大小写区别,如果要比较,请忽略大小写
                    String stmp;
                    
                    //其实,下面这部分,是可以拿出来做方法的,为方面材如此..
                    StringBuffer out = new StringBuffer(tmp.length * 2);
                    for (int n = 0; n < tmp.length; n++) {
                        // 字节做“与”运算,去除高位置字节 11111111
                        stmp = Integer.toHexString(tmp[n] & 0xFF);
                        if (stmp.length() == 1) {
                            // 如果是0至F的单位字符串,则添加0
                            out.append("0" + stmp);
                        } else {
                            out.append(stmp);
                        }
                    }
                    str2 = out.toString();
                }
                else
                {
                   //如上..........其实没什么区别,少了个时间而已...
                }
            }
            catch (NoSuchAlgorithmException e)
            {
                e.printStackTrace();
            }
      

  3.   

    java中可没有FormsAuthentication.HashPasswordForStoringInConfigFile这个函数
      

  4.   

    虽在java文档内查找无此函数,但仍不能确定及肯定.如有确凿证据表明答案.请告知.