主机之家测评主机之家测评  2019-08-26 15:16 主机之家测评 隐藏边栏 |   抢沙发  7 
文章评分 0 次,平均分 0.0

最近遇到了一个奇葩的问题,采用 mysql 内置 md5 算法加密的数据与 php 程序 md5 算法加密的数据不一致。具体如下:

其他部门提了一个小需求,有一批 excel 格式的数据,要做个小的在线查询功能,通过身份证号查询其他信息,但是其中身份证要加密。

解决思路把 excel 数据导入到 mysql 中,通过内置 md5 函数加密身份证列,然后把前台提交的身份证号用 php 进行 md5 加密,查询数据库,取出相关信息就可以了。

做起来很简单,可是运行起来出错,发现 mysql 内置 md5 算法加密的数据与 php 程序 md5 算法加密的数据不一致。

最开始想的是编码问题和数据库字段类型设计的问题,检查了一遍均没解决。

后来仔细看了一遍导入的原始数据才发现,由于 excel 中存在的制表符、换行符导致导入到 mysql 中的数据前后有特殊空白字符,那数据都不一样了,md5 的结果当然不一样了!!!

附:mysql 去除前后空白字符的终极办法

声明:本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

发表评论

扫一扫二维码分享