if ((i % 2) == 0)
{
str2 = FormsAuthentication.HashPasswordForStoringInConfigFile(str2 + DateTime.Now.ToString("yyyy-MM"), "MD5");
}
else
{
str2 = FormsAuthentication.HashPasswordForStoringInConfigFile(str2 + DateTime.Today.Month.ToString(), "MD5");
}
{
str2 = FormsAuthentication.HashPasswordForStoringInConfigFile(str2 + DateTime.Now.ToString("yyyy-MM"), "MD5");
}
else
{
str2 = FormsAuthentication.HashPasswordForStoringInConfigFile(str2 + DateTime.Today.Month.ToString(), "MD5");
}
//这里就一个时间格式化可以变下,其它不变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");
}
//为方便....定义
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();
}