我在下面有这个功能。
它收到一个字符串和一个由另一个字符串组成的键。
该函数使用inputs
并添加日期以生成完全相同的密钥进行验证。
public bool isSecureKeyCorrect(string inputs,string thatKey)
{
DateTime now = DateTime.UtcNow.AddHours(2);
string currentDateString = (now.ToString("yyyyMMddHH"));
string year= currentDateString.Substring(0, 4);
string month = currentDateString.Substring(4, 2);
string day = currentDateString.Substring(6, 2);
string hour = currentDateString.Substring(8, 2);
string thisKey;
thisKey = inputs.Substring(0, 2) + month+ hour +
inputs.Substring(inputs.Length - 2, 2) + year + day;
if (thisKey == thatKey)
{
return true;
}
else
return false;
}
现在,因为我是java的完整新手,我需要在java中创建一个等效的函数,而且我对Date
或DateTime
的工作方式知之甚少。 java,如果有人能给我一些如何正确调整代码的指示,我将非常高兴。
提前致谢。
答案 0 :(得分:2)
查找GregorianCalendar中的方法:http://download.oracle.com/javase/6/docs/api/java/util/GregorianCalendar.html(请阅读说明中的详细用法示例)
答案 1 :(得分:0)
import java.util.Date;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
private String getDateTime() {
DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Date date = new Date();
return dateFormat.format(date);
}
答案 2 :(得分:0)
您可以尝试Joda-time's DateTime。