feat: 登录接口增加timestamp、sign字段,用于验证本次是否通过
This commit is contained in:
@@ -1,6 +1,10 @@
|
||||
package com.tiesheng.login.pojos;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.crypto.SecureUtil;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
public class UniqueIndexDTO extends LoginToInfo {
|
||||
|
||||
@@ -8,6 +12,26 @@ public class UniqueIndexDTO extends LoginToInfo {
|
||||
private String extra;
|
||||
private String info;
|
||||
private String platform = "web";
|
||||
private Long timestamp;
|
||||
private String sign;
|
||||
|
||||
|
||||
/**
|
||||
* 验证签名是否正确
|
||||
*/
|
||||
public boolean validSign() {
|
||||
if (StrUtil.isEmpty(getNo()) || getTimestamp() == null) {
|
||||
return false;
|
||||
}
|
||||
if ((DateUtil.currentSeconds() - getTimestamp()) > 60) {
|
||||
return false;
|
||||
}
|
||||
String mySign = getNo() + getTimestamp();
|
||||
for (int i = 0; i < 11; i++) {
|
||||
mySign = SecureUtil.md5(mySign);
|
||||
}
|
||||
return Objects.equals(sign, mySign);
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// setter\getter
|
||||
@@ -47,4 +71,20 @@ public class UniqueIndexDTO extends LoginToInfo {
|
||||
public void setPlatform(String platform) {
|
||||
this.platform = platform;
|
||||
}
|
||||
|
||||
public Long getTimestamp() {
|
||||
return timestamp;
|
||||
}
|
||||
|
||||
public void setTimestamp(Long timestamp) {
|
||||
this.timestamp = timestamp;
|
||||
}
|
||||
|
||||
public String getSign() {
|
||||
return sign;
|
||||
}
|
||||
|
||||
public void setSign(String sign) {
|
||||
this.sign = sign;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user