震惊,一行 MD5 居然让小伙伴都回不了家!!!
链接:https://www.cnblogs.com/Jcloud/p/17217671.html
需求是什么
我怎么搞得
前端同学表示值不好传,因为这个页面比较复杂,具体原因小编也没深究,可能是被糊弄了。 后端同学(也就是小编)发现,这样查询接口和确认接口耦合很严重,如果确认接口需要新的入参,那么就需要改动查询接口。随着查询接口逻辑越来越复杂,确认接口的一个入参就需要一层一层的传过来。很不友好。
MD5 信息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个 128 位(16 字节)的散列值(hash value),用于确保信息传输完整一致。
String md5= Md5Utils.get(String source);
/**
* 生成数据哈希
*/
private String generateSnapShotHash(AcceptListQueryWrapResultDTO wrapResultDTO) {
StringBuilder builder = new StringBuilder();
for (AcceptListQueryResultDTO item : wrapResultDTO.getAllList()) {
builder.append(item.getQuotationId()).append(item.getOperateType()).append(item.getPriceTypeCN());
}
return MD5.create().digestHex16(builder.toString());
}
MD5.create().digestHex16(builder.toString());
出了什么事
怎么修好的
这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了? 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗? 线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现! 是否有一个全局视角来查看系统的运行状况? 有什么办法可以监控到 JVM 的实时运行状态? 怎么快速定位应用的热点,生成火焰图? 怎样直接从 JVM 内查找某个类的实例?
下载全量包 arthas-bin.zip 解压 chmod -777 arthas-boot.jar 启动 sudo -u admin -EH java -jar /home/export/App/arthas-boot.jar
trace --skipJDKMethod false com.jd.universal.inquiry.service.protocol.jsf.AcceptListWebErpServiceImpl queryList
trace --skipJDKMethod false com.jd.universal.inquiry.service.protocol.jsf.AcceptListWebErpServiceImpl generateSnapShotHash
[99.99% 36562.318173ms ] cn.hutool.crypto.digest.MD5:create() #103
BouncyCastle(轻量级密码术包)是一种用于 Java 平台的开放源码的轻量级密码术包;Bouncycstle 包含了大量的密码算法,其支持椭圆曲线密码算法,并提供 JCE 1.2.1 的实现。
private void setup()
{
loadAlgorithms(DIGEST_PACKAGE, DIGESTS);
loadAlgorithms(SYMMETRIC_PACKAGE, SYMMETRIC_GENERIC);
loadAlgorithms(SYMMETRIC_PACKAGE, SYMMETRIC_MACS);
loadAlgorithms(SYMMETRIC_PACKAGE, SYMMETRIC_CIPHERS);
loadAlgorithms(ASYMMETRIC_PACKAGE, ASYMMETRIC_GENERIC);
loadAlgorithms(ASYMMETRIC_PACKAGE, ASYMMETRIC_CIPHERS);
loadAlgorithms(KEYSTORE_PACKAGE, KEYSTORES);
loadAlgorithms(SECURE_RANDOM_PACKAGE, SECURE_RANDOMS);
loadPQCKeys(); // so we can handle certificates containing them.
//省略。。。
}
后语
合理评估使用第三方包 测试环境遇到的问题尽力去追,不要盲目下结论 要听QA的话
END
官方站点:www.linuxprobe.com
Linux命令大全:www.linuxcool.com
刘遄老师QQ:5604215
Linux技术交流群:2636170
(新群,火热加群中……)
想要学习Linux系统的读者可以点击"阅读原文"按钮来了解书籍《Linux就该这么学》,同时也非常适合专业的运维人员阅读,成为辅助您工作的高价值工具书!
微信扫码关注该文公众号作者
戳这里提交新闻线索和高质量文章给我们。
来源: qq
点击查看作者最近其他文章