|
@@ -1,5 +1,7 @@
|
|
package com.chelvc.framework.security.crypto;
|
|
package com.chelvc.framework.security.crypto;
|
|
|
|
|
|
|
|
+import java.util.Objects;
|
|
|
|
+
|
|
import com.chelvc.framework.base.context.Session;
|
|
import com.chelvc.framework.base.context.Session;
|
|
import com.chelvc.framework.base.crypto.AbstractCipherHandler;
|
|
import com.chelvc.framework.base.crypto.AbstractCipherHandler;
|
|
import com.chelvc.framework.common.util.CodecUtils;
|
|
import com.chelvc.framework.common.util.CodecUtils;
|
|
@@ -18,18 +20,17 @@ public abstract class AbstractSecurityCipherHandler extends AbstractCipherHandle
|
|
protected final String secret;
|
|
protected final String secret;
|
|
|
|
|
|
public AbstractSecurityCipherHandler(@NonNull SecurityProperties.Crypto properties) {
|
|
public AbstractSecurityCipherHandler(@NonNull SecurityProperties.Crypto properties) {
|
|
- this.secret = properties.getSecret();
|
|
|
|
|
|
+ this.secret = Objects.requireNonNull(properties.getSecret());
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public String sign(@NonNull Session session, String payload) {
|
|
public String sign(@NonNull Session session, String payload) {
|
|
- String secret = ObjectUtils.ifNull(this.secret, StringUtils.EMPTY);
|
|
|
|
String id = ObjectUtils.ifNull(session.getId(), String::valueOf, () -> StringUtils.EMPTY);
|
|
String id = ObjectUtils.ifNull(session.getId(), String::valueOf, () -> StringUtils.EMPTY);
|
|
String device = ObjectUtils.ifNull(session.getDevice(), StringUtils.EMPTY);
|
|
String device = ObjectUtils.ifNull(session.getDevice(), StringUtils.EMPTY);
|
|
String terminal = ObjectUtils.ifNull(session.getTerminal(), Enum::name, () -> StringUtils.EMPTY);
|
|
String terminal = ObjectUtils.ifNull(session.getTerminal(), Enum::name, () -> StringUtils.EMPTY);
|
|
String version = ObjectUtils.ifNull(session.getVersion(), StringUtils.EMPTY);
|
|
String version = ObjectUtils.ifNull(session.getVersion(), StringUtils.EMPTY);
|
|
String timestamp = ObjectUtils.ifNull(session.getTimestamp(), String::valueOf, () -> StringUtils.EMPTY);
|
|
String timestamp = ObjectUtils.ifNull(session.getTimestamp(), String::valueOf, () -> StringUtils.EMPTY);
|
|
- String plaintext = secret + id + device + terminal + version + timestamp + payload;
|
|
|
|
|
|
+ String plaintext = this.secret + id + device + terminal + version + timestamp + payload;
|
|
return CodecUtils.md5(plaintext);
|
|
return CodecUtils.md5(plaintext);
|
|
}
|
|
}
|
|
}
|
|
}
|