-
问题描述
在传输过程有个验签的问题,以前框架用的是MD5,出现过两次不一致问题。
1.1同一平台下验签不一致的出现
通过日志查看验签字符串初看是一直的,最后经过排查发现是回车换行的问题,对方在字符串回车换行的时候可能直接只用了\r或者\n或者\r\n,但是经过这边的的时候系统获取的字符串换行则成了\r\n导致两边的字符不一致,最后简单粗暴的解决直接一个整串处理,不允许换行符的出现。
1.2不同平台下的不一致问题
测试的时候双方都是在统一平台下进行的没问题,但是上生产了对方服务器换掉了从winx下切换到了linux下,结果导致验签不通过很诡异看日志没问题,纠结了需求中文字符引起了关注,由于对方的编码和本系统的编码不一致导致中文的编码也不一致最后验签串肯定也不一致了。解决办法双发编码一致。MD5加密的时候获取字节注意设置编码