Skip to content

Commit

Permalink
unify the MD5 generation on both sides by MD5 utility classes in the …
Browse files Browse the repository at this point in the history
…common module
  • Loading branch information
wangweizZZ committed Apr 19, 2020
1 parent bb70dcb commit aeb1491
Show file tree
Hide file tree
Showing 16 changed files with 38 additions and 100 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
import com.alibaba.nacos.client.config.filter.impl.ConfigFilterChainManager;
import com.alibaba.nacos.client.config.filter.impl.ConfigResponse;
import com.alibaba.nacos.client.config.listener.impl.AbstractConfigChangeListener;
import com.alibaba.nacos.client.config.utils.MD5;
import com.alibaba.nacos.common.utils.MD5;
import com.alibaba.nacos.client.utils.LogUtils;
import com.alibaba.nacos.client.utils.TenantUtil;
import org.slf4j.Logger;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
import com.alibaba.nacos.client.config.http.HttpAgent;
import com.alibaba.nacos.client.config.impl.HttpSimpleClient.HttpResult;
import com.alibaba.nacos.client.config.utils.ContentUtils;
import com.alibaba.nacos.client.config.utils.MD5;
import com.alibaba.nacos.common.utils.MD5;
import com.alibaba.nacos.client.monitor.MetricsMonitor;
import com.alibaba.nacos.client.utils.LogUtils;
import com.alibaba.nacos.client.utils.ParamUtil;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

import com.alibaba.nacos.api.common.Constants;
import com.alibaba.nacos.api.exception.NacosException;
import com.alibaba.nacos.client.config.utils.MD5;
import com.alibaba.nacos.common.utils.MD5;
import com.alibaba.nacos.client.utils.ParamUtil;
import com.alibaba.nacos.common.constant.HttpHeaderConsts;
import com.alibaba.nacos.common.utils.IoUtils;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.alibaba.nacos.client.config.utils;
package com.alibaba.nacos.common.utils;

import com.alibaba.nacos.api.common.Constants;
import com.google.common.collect.Maps;
Expand Down
59 changes: 0 additions & 59 deletions common/src/main/java/com/alibaba/nacos/common/utils/Md5Utils.java

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.alibaba.nacos.client.config.utils;
package com.alibaba.nacos.common.utils;

import org.junit.Assert;
import org.junit.Test;
Expand All @@ -26,6 +26,8 @@ public void testGetMD5String() {
MD5.getInstance().getMD5String(""));
Assert.assertEquals("acbd18db4cc2f85cedef654fccc4a4d8",
MD5.getInstance().getMD5String("foo"));
Assert.assertEquals("02f463eb799797e2a978fb1a2ae2991e",
MD5.getInstance().getMD5String("38c5ee9532f037a20b93d0f804cf111fca4003e451d09a692d9dea8032308d9c64eda9047fcd5e850284a49b1a0cfb2ecd45"));

Assert.assertEquals("d41d8cd98f00b204e9800998ecf8427e",
MD5.getInstance().getMD5String(new byte[0]));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,7 @@
*/
package com.alibaba.nacos.config.server.aspect;

import com.alibaba.nacos.common.utils.Md5Utils;
import com.alibaba.nacos.config.server.constant.Constants;
import com.alibaba.nacos.common.utils.MD5;
import com.alibaba.nacos.config.server.monitor.MetricsMonitor;
import com.alibaba.nacos.config.server.service.ConfigService;
import com.alibaba.nacos.config.server.utils.GroupKey2;
Expand Down Expand Up @@ -67,7 +66,7 @@ public class RequestLogAspect {
public Object interfacePublishSingle(ProceedingJoinPoint pjp, HttpServletRequest request,
HttpServletResponse response, String dataId, String group, String tenant,
String content) throws Throwable {
final String md5 = content == null ? null : Md5Utils.getMD5(content, Constants.ENCODE);
final String md5 = content == null ? null : MD5.getInstance().getMD5String(content);
MetricsMonitor.getPublishMonitor().incrementAndGet();
return logClientRequest("publish", pjp, request, response, dataId, group, tenant, md5);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,7 @@
*/
package com.alibaba.nacos.config.server.model;

import com.alibaba.nacos.common.utils.Md5Utils;
import com.alibaba.nacos.config.server.constant.Constants;
import com.alibaba.nacos.common.utils.MD5;

import java.io.PrintWriter;
import java.io.Serializable;
Expand Down Expand Up @@ -47,7 +46,7 @@ public ConfigInfoBase(String dataId, String group, String content) {
this.group = group;
this.content = content;
if (this.content != null) {
this.md5 = Md5Utils.getMD5(this.content, Constants.ENCODE);
this.md5 = MD5.getInstance().getMD5String(this.content);
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
*/
package com.alibaba.nacos.config.server.service;

import com.alibaba.nacos.common.utils.Md5Utils;
import com.alibaba.nacos.common.utils.MD5;
import com.alibaba.nacos.config.server.constant.Constants;
import com.alibaba.nacos.config.server.model.CacheItem;
import com.alibaba.nacos.config.server.model.ConfigInfoBase;
Expand Down Expand Up @@ -70,7 +70,7 @@ static public boolean dump(String dataId, String group, String tenant, String co
}

try {
final String md5 = Md5Utils.getMD5(content, Constants.ENCODE);
final String md5 = MD5.getInstance().getMD5String(content);

if (md5.equals(ConfigService.getContentMd5(groupKey))) {
dumpLog.warn(
Expand Down Expand Up @@ -116,7 +116,7 @@ static public boolean dumpBeta(String dataId, String group, String tenant, Strin
}

try {
final String md5 = Md5Utils.getMD5(content, Constants.ENCODE);
final String md5 = MD5.getInstance().getMD5String(content);
if (md5.equals(ConfigService.getContentBetaMd5(groupKey))) {
dumpLog.warn(
"[dump-beta-ignore] ignore to save cache file. groupKey={}, md5={}, lastModifiedOld={}, "
Expand Down Expand Up @@ -155,7 +155,7 @@ static public boolean dumpTag(String dataId, String group, String tenant, String
}

try {
final String md5 = Md5Utils.getMD5(content, Constants.ENCODE);
final String md5 = MD5.getInstance().getMD5String(content);
if (md5.equals(ConfigService.getContentTagMd5(groupKey, tag))) {
dumpLog.warn(
"[dump-tag-ignore] ignore to save cache file. groupKey={}, md5={}, lastModifiedOld={}, "
Expand Down Expand Up @@ -192,7 +192,7 @@ static public boolean dumpChange(String dataId, String group, String tenant, Str
}

try {
final String md5 = Md5Utils.getMD5(content, Constants.ENCODE);
final String md5 = MD5.getInstance().getMD5String(content);
if (!STANDALONE_MODE || PropertyUtil.isStandaloneUseMysql()) {
String loacalMd5 = DiskUtil.getLocalConfigMd5(dataId, group, tenant);
if (md5.equals(loacalMd5)) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
package com.alibaba.nacos.config.server.service;

import com.alibaba.nacos.common.utils.IoUtils;
import com.alibaba.nacos.common.utils.Md5Utils;
import com.alibaba.nacos.common.utils.MD5;
import com.alibaba.nacos.config.server.constant.Constants;
import com.alibaba.nacos.config.server.utils.LogUtil;
import org.apache.commons.io.FileUtils;
Expand Down Expand Up @@ -172,7 +172,7 @@ static public String getConfig(String dataId, String group, String tenant)

static public String getLocalConfigMd5(String dataId, String group, String tenant)
throws IOException {
return Md5Utils.getMD5(getConfig(dataId, group, tenant), Constants.ENCODE);
return MD5.getInstance().getMD5String(getConfig(dataId, group, tenant));
}

static public File heartBeatFile() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,7 @@
*/
package com.alibaba.nacos.config.server.service;

import com.alibaba.nacos.common.utils.Md5Utils;
import com.alibaba.nacos.config.server.constant.Constants;
import com.alibaba.nacos.common.utils.MD5;
import com.alibaba.nacos.config.server.enums.FileTypeEnum;
import com.alibaba.nacos.api.exception.NacosException;
import com.alibaba.nacos.config.server.model.*;
Expand Down Expand Up @@ -538,7 +537,7 @@ public void addConfigInfo4Beta(ConfigInfo configInfo, String betaIps,
String appNameTmp = StringUtils.isBlank(configInfo.getAppName()) ? StringUtils.EMPTY : configInfo.getAppName();
String tenantTmp = StringUtils.isBlank(configInfo.getTenant()) ? StringUtils.EMPTY : configInfo.getTenant();
try {
String md5 = Md5Utils.getMD5(configInfo.getContent(), Constants.ENCODE);
String md5 = MD5.getInstance().getMD5String(configInfo.getContent());
jt.update(
"INSERT INTO config_info_beta(data_id,group_id,tenant_id,app_name,content,md5,beta_ips,src_ip,"
+ "src_user,gmt_create,gmt_modified) VALUES(?,?,?,?,?,?,?,?,?,?,?)",
Expand All @@ -564,7 +563,7 @@ public void addConfigInfo4Tag(ConfigInfo configInfo, String tag, String srcIp, S
String tenantTmp = StringUtils.isBlank(configInfo.getTenant()) ? StringUtils.EMPTY : configInfo.getTenant();
String tagTmp = StringUtils.isBlank(tag) ? StringUtils.EMPTY : tag.trim();
try {
String md5 = Md5Utils.getMD5(configInfo.getContent(), Constants.ENCODE);
String md5 = MD5.getInstance().getMD5String(configInfo.getContent());
jt.update(
"INSERT INTO config_info_tag(data_id,group_id,tenant_id,tag_id,app_name,content,md5,src_ip,src_user,"
+ "gmt_create,gmt_modified) VALUES(?,?,?,?,?,?,?,?,?,?,?)",
Expand Down Expand Up @@ -628,7 +627,7 @@ public void updateConfigInfo4Beta(ConfigInfo configInfo, String srcIp, String sr
String appNameTmp = StringUtils.isBlank(configInfo.getAppName()) ? StringUtils.EMPTY : configInfo.getAppName();
String tenantTmp = StringUtils.isBlank(configInfo.getTenant()) ? StringUtils.EMPTY : configInfo.getTenant();
try {
String md5 = Md5Utils.getMD5(configInfo.getContent(), Constants.ENCODE);
String md5 = MD5.getInstance().getMD5String(configInfo.getContent());
jt.update(
"UPDATE config_info_beta SET content=?, md5 = ?, src_ip=?,src_user=?,gmt_modified=?,app_name=? WHERE "
+ "data_id=? AND group_id=? AND tenant_id=?",
Expand All @@ -654,7 +653,7 @@ public void updateConfigInfo4Tag(ConfigInfo configInfo, String tag, String srcIp
String tenantTmp = StringUtils.isBlank(configInfo.getTenant()) ? StringUtils.EMPTY : configInfo.getTenant();
String tagTmp = StringUtils.isBlank(tag) ? StringUtils.EMPTY : tag.trim();
try {
String md5 = Md5Utils.getMD5(configInfo.getContent(), Constants.ENCODE);
String md5 = MD5.getInstance().getMD5String(configInfo.getContent());
jt.update(
"UPDATE config_info_tag SET content=?, md5 = ?, src_ip=?,src_user=?,gmt_modified=?,app_name=? WHERE "
+ "data_id=? AND group_id=? AND tenant_id=? AND tag_id=?",
Expand Down Expand Up @@ -2695,7 +2694,7 @@ private long addConfigInfoAtomic(final String srcIp, final String srcUser, final
final String type = configAdvanceInfo == null ? null : (String) configAdvanceInfo.get("type");
final String schema = configAdvanceInfo == null ? null : (String) configAdvanceInfo.get("schema");

final String md5Tmp = Md5Utils.getMD5(configInfo.getContent(), Constants.ENCODE);
final String md5Tmp = MD5.getInstance().getMD5String(configInfo.getContent());

KeyHolder keyHolder = new GeneratedKeyHolder();

Expand Down Expand Up @@ -2904,7 +2903,7 @@ private void updateConfigInfoAtomic(final ConfigInfo configInfo, final String sr
final Timestamp time, Map<String, Object> configAdvanceInfo) {
String appNameTmp = StringUtils.isBlank(configInfo.getAppName()) ? StringUtils.EMPTY : configInfo.getAppName();
String tenantTmp = StringUtils.isBlank(configInfo.getTenant()) ? StringUtils.EMPTY : configInfo.getTenant();
final String md5Tmp = Md5Utils.getMD5(configInfo.getContent(), Constants.ENCODE);
final String md5Tmp = MD5.getInstance().getMD5String(configInfo.getContent());
String desc = configAdvanceInfo == null ? null : (String) configAdvanceInfo.get("desc");
String use = configAdvanceInfo == null ? null : (String) configAdvanceInfo.get("use");
String effect = configAdvanceInfo == null ? null : (String) configAdvanceInfo.get("effect");
Expand Down Expand Up @@ -3061,7 +3060,7 @@ private void insertConfigHistoryAtomic(long id, ConfigInfo configInfo, String sr
final Timestamp time, String ops) {
String appNameTmp = StringUtils.isBlank(configInfo.getAppName()) ? StringUtils.EMPTY : configInfo.getAppName();
String tenantTmp = StringUtils.isBlank(configInfo.getTenant()) ? StringUtils.EMPTY : configInfo.getTenant();
final String md5Tmp = Md5Utils.getMD5(configInfo.getContent(), Constants.ENCODE);
final String md5Tmp = MD5.getInstance().getMD5String(configInfo.getContent());
try {
jt.update(
"INSERT INTO his_config_info (id,data_id,group_id,tenant_id,app_name,content,md5,src_ip,src_user,gmt_modified,op_type) VALUES(?,?,?,?,?,?,?,?,?,?,?)",
Expand Down Expand Up @@ -3355,7 +3354,7 @@ public Boolean completeMd5() {
String md5InDb = cf.getMd5();
final String content = cf.getContent();
final String tenant = cf.getTenant();
final String md5 = Md5Utils.getMD5(content, Constants.ENCODE);
final String md5 = MD5.getInstance().getMD5String(content);
if (StringUtils.isBlank(md5InDb)) {
try {
updateMd5(cf.getDataId(), cf.getGroup(), tenant, md5, new Timestamp(cf.getLastModified()));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
package com.alibaba.nacos.config.server.service.dump;

import com.alibaba.nacos.common.utils.IoUtils;
import com.alibaba.nacos.common.utils.Md5Utils;
import com.alibaba.nacos.common.utils.MD5;
import com.alibaba.nacos.config.server.constant.Constants;
import com.alibaba.nacos.config.server.manager.TaskManager;
import com.alibaba.nacos.config.server.model.ConfigInfo;
Expand Down Expand Up @@ -347,7 +347,7 @@ public void run() {
ConfigInfo cf = MergeTaskProcessor.merge(dataId, group, tenant, datumList);
String aggrContent = cf.getContent();
String localContentMD5 = ConfigService.getContentMd5(GroupKey.getKey(dataId, group));
String aggrConetentMD5 = Md5Utils.getMD5(aggrContent, Constants.ENCODE);
String aggrConetentMD5 = MD5.getInstance().getMD5String(aggrContent);

if (!StringUtils.equals(localContentMD5, aggrConetentMD5)) {
persistService.insertOrUpdate(null, null, cf, time, null, false);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,7 @@
*/
package com.alibaba.nacos.config.server.service.dump;

import com.alibaba.nacos.common.utils.Md5Utils;
import com.alibaba.nacos.config.server.constant.Constants;
import com.alibaba.nacos.common.utils.MD5;
import com.alibaba.nacos.config.server.manager.AbstractTask;
import com.alibaba.nacos.config.server.manager.TaskProcessor;
import com.alibaba.nacos.config.server.model.ConfigInfo;
Expand Down Expand Up @@ -265,7 +264,7 @@ public boolean process(String taskType, AbstractTask task) {
cf.getLastModified(), cf.getType());

final String content = cf.getContent();
final String md5 = Md5Utils.getMD5(content, Constants.ENCODE);
final String md5 = MD5.getInstance().getMD5String(content);
LogUtil.dumpLog.info("[dump-all-ok] {}, {}, length={}, md5={}",
GroupKey2.getKey(cf.getDataId(), cf.getGroup()), cf.getLastModified(), content.length(), md5);
}
Expand Down Expand Up @@ -410,7 +409,7 @@ public boolean process(String taskType, AbstractTask task) {
boolean result = ConfigService.dumpChange(cf.getDataId(), cf.getGroup(), cf.getTenant(),
cf.getContent(), cf.getLastModified());
final String content = cf.getContent();
final String md5 = Md5Utils.getMD5(content, Constants.ENCODE);
final String md5 = MD5.getInstance().getMD5String(content);
LogUtil.defaultLog.info(
"[dump-change-ok] {}, {}, length={}, md5={}",
new Object[] {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,7 @@
*/
package com.alibaba.nacos.config.server.service.trace;

import com.alibaba.nacos.common.utils.Md5Utils;
import com.alibaba.nacos.config.server.constant.Constants;
import com.alibaba.nacos.common.utils.MD5;
import com.alibaba.nacos.config.server.monitor.MetricsMonitor;
import com.alibaba.nacos.config.server.utils.LogUtil;
import org.apache.commons.lang3.StringUtils;
Expand Down Expand Up @@ -62,7 +61,7 @@ public static void logPersistenceEvent(String dataId, String group, String tenan
}
//localIp | dataid | group | tenant | requestIpAppName | ts | handleIp | event | type | [delayed = -1] | ext
// (md5)
String md5 = content == null ? null : Md5Utils.getMD5(content, Constants.ENCODE);
String md5 = content == null ? null : MD5.getInstance().getMD5String(content);

LogUtil.traceLog.info("{}|{}|{}|{}|{}|{}|{}|{}|{}|{}|{}", LOCAL_IP, dataId, group, tenant,
requestIpAppName, ts, handleIp, "persist", type, -1, md5);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.annotation.JSONField;
import com.alibaba.nacos.common.utils.Md5Utils;
import com.alibaba.nacos.common.utils.MD5;
import com.alibaba.nacos.naming.pojo.Record;
import org.apache.commons.lang3.StringUtils;

Expand Down Expand Up @@ -66,7 +66,7 @@ private String recalculateChecksum() {
sb.append(",");
}

return Md5Utils.getMD5(sb.toString(), "UTF-8");
return MD5.getInstance().getMD5String(sb.toString());
}

public String convertMap2String(Map<String, String> map) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.annotation.JSONField;
import com.alibaba.nacos.common.utils.Md5Utils;
import com.alibaba.nacos.common.utils.MD5;
import com.alibaba.nacos.naming.boot.SpringContext;
import com.alibaba.nacos.naming.consistency.KeyBuilder;
import com.alibaba.nacos.naming.consistency.RecordListener;
Expand Down Expand Up @@ -472,7 +472,7 @@ public synchronized void recalculateChecksum() {
ipsString.append(",");
}

checksum = Md5Utils.getMD5(ipsString.toString(), "UTF-8");
checksum = MD5.getInstance().getMD5String(ipsString.toString());
}

private void updateOrAddCluster(Collection<Cluster> clusters) {
Expand Down

0 comments on commit aeb1491

Please sign in to comment.